17項 AcceleratedC++でも何度も注意されていた「自己代入」のチェック。ほとんどの場合、this と &rhs の比較で判定すれば良い。 エイリアシングの可能性を考慮しなければいけない理由 効率:代入は非常にコストがかかる操作になる場合がある 安全:間違いを犯さないようにする。代入時に古いリソースを破棄するが、新しいリソース割り当て際に古いリソースが必要なことがある。 18項 完全でしかも最小限のクラスインタフェース クライアントが普通やりたいと思うようなことは、何でもできる 関数の数が可能な限り切り詰められていて、関数同士で機能がオーバーラップしていない 関数が一杯詰まったインタフェースの技術的な欠点 インタフェースに含まれる関数の数が多ければ多いほど、クライアントにとって理解し難いものになる 大きいインタフェースは保守が難しい 必要以上に長いクラス定義、プロジェクトの存続期