Effective C++
エフェクティブ シープラスプラス
プログラムとデザインを改良するための 55 項目
- 著者:
- スコット・マイアーズ / 小林健一郎(マイアーズ, スコット / コバヤシ, ケンイチロウ)
- 注目:
- 総合 2743 位
- 出版社:
- 丸善出版
- 出版日:
- 2014年03月
- ISBN:
- 9784621066096
- 在庫:
- 在庫あり
なぜ注目されているか
技書の森解説
『Effective C++ 第 3 版』 (Scott Meyers 著、小林 健一郎 訳、丸善出版、2014 年 3 月刊) は、C++ のプログラムを理解しやすく、保守しやすく、拡張しやすいものにするための 55 項目のガイドラインを、全 9 章と付録 2 本にまとめた書籍です。版元の書籍ページの見出しには「プログラムとデザインを改良するための 55 項目」が添えられています。本書は 2005 年に発行された原著第 3 版の翻訳です。国立国会図書館の書誌によると、2006 年にピアソン・エデュケーションから刊行された翻訳を丸善出版が再刊したもので、版元の紹介文は本書を、1991 年の初版以来読まれてきた原著の内容を新たにした改訂第 3 版の翻訳書と説明しています。
全 9 章の構成、C++ への慣れから new と delete の調整まで
構成は第 1 章「C++ に慣れよう」から始まり、第 2 章「コンストラクタ、デストラクタ、コピー代入演算子」、第 3 章「リソース管理」、第 4 章「デザインと宣言」、第 5 章「実装」、第 6 章「継承とオブジェクト指向設計」、第 7 章「テンプレートとジェネリックプログラミング」、第 8 章「new と delete のカスタマイズ」、第 9 章「いろいろな事」と続きます。巻末には付録 A「Effective C++ を超えて」と、付録 B「第 2 版と第 3 版の対応表」が付きます。項目は 1 項から 55 項までの通し番号で、どれも「こう書こう」という指針の形の見出しになっており、たとえば 13 項はリソースの管理にオブジェクトを使うこと、29 項はコードを例外安全なものにすることを掲げています。
第 3 版で加わったリソース管理とテンプレートの章
版元の紹介文によると、第 3 版ではリソース管理とテンプレートを使ったプログラミングの章が加わり、例外の存在、デザインパターンの適用、TR1 についての解説も足されて、半分以上が新しい内容になっています。C++ では、確保したメモリーやファイルの解放をオブジェクトのデストラクタに結び付けて管理する書き方を RAII と呼びます。
第 6 章の継承と第 7 章のテンプレート
第 6 章と第 7 章は、型ごとに処理を振り分ける 2 つの仕組みを扱います。仮想関数による実行時の ポリモーフィズム は、基底クラスのポインターや参照を通して派生クラスの処理を呼び分けるもので、テンプレートは、型の要件を満たす任意の型に対してコンパイル時にコードを生成します。コンポジション は、別のオブジェクトをメンバーとして持つことで機能を組み立てる方法です。
本書は、Scott Meyers が原著第 3 版で組み立て直した 55 項目のガイドラインを、C++ に慣れる章から new と delete のカスタマイズの章までの全 9 章と、第 2 版との対応表を含む付録 2 本に収めています。
この本に興味がある方におすすめ
関連する本
スコット・マイアーズ の他の書籍
関連記事
難しい本に出会ったら「寝かせる」技術
今の自分には難しすぎる本は、捨てずに寝かせておきましょう。半年後、1 年後に開くと読めるようになっていることがあります。
「この技術、3 年後も使われてる?」を本で見極める方法
新しい技術を学ぶべきか迷ったとき、技術書の出版状況が判断材料になります。技術の寿命を本から見極めるための 4 つのシグナルと、その落とし穴を解説します。
技術書を読むベストな時間帯はいつか - 朝型 / 夜型エンジニアの読書事情
技術書を読む時間帯を、睡眠と記憶についてわかっていることとエンジニアの実体験から考えます。朝の通勤中、昼休み、夜の自宅、それぞれの長所と短所を比較します。
関連用語
KISS 原則
Keep It Simple, Stupid - 設計をできるだけシンプルに保つことを求める原則
Go
Google が開発したシンプルで高速なコンパイル言語で、goroutine による軽量な並行処理が特徴
ステートマシン
有限個の状態と遷移で振る舞いを定義する計算モデルで、ワークフローや UI の状態管理に使う
ロードバランシング
複数のサーバーにトラフィックを分散し、可用性とスケーラビリティを向上させる仕組み
イベントソーシング
状態の変更をイベントとして記録し、イベントの再生で現在の状態を復元する設計パターン
Azure
Microsoft が提供するクラウドプラットフォーム。Windows や企業システムとの親和性が高い