Accelerated C++第11章
std::vector に相当する Vec を定義する話。
explicit
引数が一つだけのコンストラクタのみに適用できるもの。明示的にコンストラクタ呼び出しが必要なことを指定するもので、非明示的な変換によるコンストラクタ呼び出しを防止する。詳しくは12章へ。
演算子関数
原則:オブジェクトを変更する関数はメンバ関数とする
演算子関数はメンバ関数かもしれないし、メンバ関数でないかもしれない。しかしインデックス演算子は数少ないメンバ関数でなければならない演算子なのです。
クラス設計
クラスの設計者は、オブジェクトの生成、コピー、代入、破棄を管理する。
これは、何度となく繰り返されるフレーズ。