クリアボックス
2014年11月25日火曜日
C++のodr-useについてのメモ
『定義』とは宣言である。
odr-useされるオブジェクトや関数は『定義』されている必要がある。
クラス定義内の静的メンバ変数の宣言は『定義』ではない。
クラスの静的メンバ変数を『定義』するにはクラス定義外に『定義』する必要がある。
odr-useされているかされていないかの厳密な定義はクソ複雑。
ゆるふわな定義としては、オブジェクトはアドレスが取られる場合、もしくは参照される場合、関数はそれが呼び出される場合、もしくはアドレスが取られる場合にodr-useされる。
http://en.cppreference.com/w/cpp/language/definition#ODR-use
新しい投稿
前の投稿
ホーム
登録:
投稿 (Atom)