2014年5月4日日曜日

API Design for C++ を読んで学んだことをまとめておく。

順不同。詳しいことは本を買って読んで。
  • Virtual ClassのデストラクタはVirtualで宣言しておく。
    • 子クラスでのみ宣言すると、親クラスの型で変数を定義したときに困る。(P87)
    • メソッドとかは親クラスの型で戻り値を指定しても、子クラスを返すことができる。
  • クラスでメモリを扱う場合はCopy Constructor, Assignment Operator, Destructorの3つをセットで定義すべし。さもないとコンパイラが自動でShallow copyを行う。(P176)
  • getter/setterメソッドは何度も呼び出されるなら、inlineで宣言すればオーバーヘッドがなくなる。でもinlineの中にforとかが会った場合は、勝手にコンパイラがinlineでなくすときがある。小さくて、シンプルなものはinlineするとよい。

0 件のコメント:

コメントを投稿