Effective C++ 原著第3版 ADDISON-WESLEY PROFESSIONAL COMPUTING SERIES
スコット・メイヤーズ著、小林 健一郎 訳、ピアソン・エデュケーション 2006
Effective C++ 原著第3版 (ADDISON-WESLEY PROFESSIONAL COMPUTING SERIES)
- 作者: スコット・メイヤーズ,小林健一郎
- 出版社/メーカー: ピアソン・エデュケーション
- 発売日: 2006/04/29
- メディア: 大型本
- 購入: 29人 クリック: 411回
- この商品を含むブログ (186件) を見る
目次 イントロダクション 第1章 C++に慣れよう 1項 C++を複数の言語の連合と見なそう 2項 #defi neより、const、enum、inlineを使おう 3項 可能ならいつでもconstを使おう 4項 オブジェクトは、使う前に初期化しよう 第2章 コンストラクタ、デストラクタ、コピー代入演算子 5項 C++が自動で書き、自動で呼び出す関数を知ろう 6項 コンパイラが自動生成することを望まない関数は、使用を禁止しよう 7項 ポリモーフィズムのための基底クラスには仮想デストラクタを宣言しよう 8項 デストラクタから例外を投げないようにしよう 9項 コンストラクタやデストラクタ内では決して仮想関数を呼び出さないようにしよう 10項 代入演算子は*thisへの参照を戻すようにしよう 11項 operator=の実装では、自己代入に備えよう 12項 コピーするときは、オブジェクトの全体をコピーしよう 第3章 リソース管理 13項 リソース管理にオブジェクトを使おう 14項 リソース管理クラスのコピーの振る舞いはよく考えて決めよう 15項 リソース管理クラスには、リソースそのものへのアクセス方法を付けよう 16項 対応するnewとdeleteは同じ形のものを使おう 17項 newで生成したオブジェクトをスマートポインタに渡すのは、独立したステートメ ントで行うようにしよう 第4章 デザインと宣言 18項 インタフェースは、正しく使うときには使いやすく、間違った使い方では使いにくいものにしよう 19項 クラスのデザインを型のデザインとして考えよう 20項 値渡しよりconst参照渡しを使おう 21項 オブジェクトを戻すべき時に参照を戻そうとしないこと 22項 データメンバはprivate宣言しよう 23項 メンバ関数より、メンバでもfriendでもない関数を使おう 24項 すべての引数に型変換が必要なら、メンバでない関数を宣言しよう 25項 例外を投げないswapを考えよう 第5章 実 装 26項 変数の定義は可能な限り先延ばししよう 27項 キャストは最小限にしよう 28項 オブジェクト内部のデータへの「ハンドル」を戻さないようにしよう 29項 コードを例外安全なものにしよう 30項 インラインをよく理解しよう 31項 ファイル間のコンパイル依存性をなるべく小さくしよう 第6章 継承とオブジェクト指向設計 32項 public継承はis-a関係を表すようにしよう 33項 継承した名前を隠蔽しないようにしよう 34項 インタフェースの継承と実装の継承の区別をしよう 35項 仮想関数の代わりになるものを考えよう 36項 非仮想関数を派生クラスで再定義しないこと 37項 継承された関数のデフォルト引数値を再定義しない 38項 コンポジションを使ってhas-a関係、is-implementedin-terms-of関係を作ろう 39項 private継承は賢く使おう 40項 多重継承は賢く使おう 第7章 テンプレートとジェネリックプログラミング 41項 暗黙のインタフェースとコンパイル時ポリモーフィズムを理解しよう 42項 typenameの2 つの意味を理解しよう 43項 テンプレート化された基底クラス内の名前へのアクセス方法を知っておこう 44項 パラメータに依存しないコードはテンプレートから外に出そう 45項 「すべての互換型」を受け取るためにメンバ関数テンプレートを使おう 46項 型変換をさせたいなら、メンバでない関数をクラステンプレートの中で定義しよう 47項 型の情報に関してはtraitsクラスを使おう 48項 テンプレートメタプログラミングを意識しよう 第8章 newとdeleteのカスタマイズ 49項 new-handlerを理解しよう 50項 どういうときにnewとdeleteの定義を自分で書くとよいか理解しよう 51項 newとdeleteの定義を自分で書く場合はコンベンションに従おう 52項 プレースメントnewの定義を書いたらプレースメントdeleteの定義も書こう 第9章 いろいろな事 53項 コンパイラの警告に注意を払おう 54項 TR1 を含む標準ライブラリになじもう 55項 Boostに親しもう 付録A Effective C++を超えて 付録B 第2版と第3版の対応表