yumetodo boosted
yumetodo boosted

new ってオーバーライドできるもんなのか……

yumetodo boosted

::new を再定義すればプログラム全体でカスタムアロケータを使わせるみたいなことができたはず

yumetodo boosted
yumetodo boosted

operator new/delete | Programming Place Plus C++編【言語解説】 第36章
programming-place.net/ppp/cont

> 本来は、new演算子を「new(~) 型」のように使って、operator new へ追加の引数を与える機能を指して、placement new と言います。つまり、追加の引数が、どこかのメモリ領域を指すポインタであっても、それ以外の無関係な情報であっても、とにかく追加の引数があれば placement new と呼ぶこともあります。

yumetodo boosted

アドレスを外部から与えられない placement new 、普通に new の再定義やんけという感じがあるな……

yumetodo boosted
yumetodo boosted
yumetodo boosted

プレースメントnewって書いてありますね(手元にあるので確認した

yumetodo boosted

@yumetodo (下手な日本語ですみません)
size_t以外の引数を取るnew演算子関数とは「配置new」と呼ばれます。
Wikipediaによると「当初、インスタンスを特定のメモリアドレスに「配置」するための機能ということで配置newと命名された。後に配置に限らず様々な使い道に応用できることが明らかとなったものの、今でも慣習的に配置newと呼ばれる。 」。
自分のnew演算子関数を作れば、配置以外の為にも使えるということですね。
例えば、UE4(ゲームエンジン)にはTArrayに要素を挿入するnew演算子関数があります:
github.com/EpicGames/UnrealEng

C++er各位に聞きたいんだけど、これってplacement newか???私が知ってるplacement newじゃないんだが、Effective C++ではこれがそうだってほんとに書いてるの・・・?
'Placement new' について実験してみた qiita.com/pen_guin/items/22cc4

ところでcpper丼、たしか私とS.H.さん以外にもC++erいたはずなんだが、完全にTwitterに回帰されてしまったのだろうか。

なるほど、たしかに不思議だ。
「constexpr ラムダと、キャプチャ可能な変数について」 teratail.com/questions/226792?

これは強い。
Windows+VisualStudioCode+CMake+Ninja+clang/clang++でC/C++のプログラム組んでデバッグする話しながらD言語の布教をする qiita.com/mono_shoo/items/f37a

yumetodo boosted

C++江添本のおかげか、この記事最近よく読まれてる

C++を学ぶにあたって参考にした書籍・Webサイト qiita.com/S_H_/items/2a892fefa

これでもなんで引数の型が変化しないとうまく行かないんだろうな・・・。ADLで見つからないというたぐいのエラーがclangででるし、gccはオーバーロード候補にすら上げてこない。
(C++テンプレート)関数テンプレートでの再帰について qiita.com/Alreschas/items/7b8a

しっかしWindowsでも普通にAddressSanitizerが動く時代が来るのか・・・。
AddressSanitizer (ASan) for Windows with MSVC | C++ Team Blog
devblogs.microsoft.com/cppblog

へぇ、luaベースのC++ビルドツールか。pkg-config、homebrew、vcpkgからの探索にも対応、と。
xmake.io/#/

yumetodo boosted

【台風20号実況・予報 2019年10月19日 21:47】
強い台風20号(ノグリー)は、沖縄の南をゆっくりと北に進んでいます。
#台風情報

Show more
C++er丼(undefined丼)

C++erのための、C++erによる、C++erのMastodon