2014年11月25日火曜日

C++のodr-useについてのメモ


  • 『定義』とは宣言である。 
  • odr-useされるオブジェクトや関数は『定義』されている必要がある。 
  • クラス定義内の静的メンバ変数の宣言は『定義』ではない。
  •  クラスの静的メンバ変数を『定義』するにはクラス定義外に『定義』する必要がある。 
  • odr-useされているかされていないかの厳密な定義はクソ複雑。
  •  ゆるふわな定義としては、オブジェクトはアドレスが取られる場合、もしくは参照される場合、関数はそれが呼び出される場合、もしくはアドレスが取られる場合にodr-useされる。