読者です 読者をやめる 読者になる 読者になる

私のひらめき日記

もっと自由に、流暢にプログラミングする

C++ Question

1. 暗黙の型変換について、どれくらい話題を知っているか?

  • 単一の実引数コンストラクタ(explicitつけない)は、暗黙の型変換を引き起こす*1
  • Proxy Class*2
  • operator bool *3
  • 戻り値型の推論*4

2. +=演算子と+演算子を自作クラスでどうオーバーロードするか?

  • テンプレート絡まない場合
  • テンプレート絡む場合

3. C++特有の最適化

  • テンポラリオブジェクトの生成、破棄のタイミング
    • 戻り値最適化(Return Value Optimization : RVO)*5 => これによって、名前付きコンストラクタ(Named Constructor Idiom)が処理速度的に正当化できる。

*1:More Effective C++ ch.5

*2:More Effective C++ ch.5

*3:C++テンプレートテクニック ch.10

*4:C++テンプレートテクニック ch.10

*5:More Effective C++ ch.20