- ホーム
- > 和書
- > コンピュータ
- > プログラミング
- > C++、Visual C他
出版社内容情報
本書は、好評を博した『Exceptional C++』に引き続き、「プログラム問題とその解法」という実践的な形式を通じて、現実のC++問題に解決を与え、成功に導く戦略を手ほどきします。小さなプロジェクトから大規模エンタープライズアプリケーションにいたるまで、C++でソフトウェアシステム設計をおこなうプログラマにむけて、著者は、長年の実践経験にもとづいたテクニックと解決方法を披露しています。
本書での新たな40のプログラミングクイズは、C++のソフトウェアデザインと開発を成功させるうえで避けて通れないルールと問題点を理解するうえで大変有効です。ジェネリックプログラミングやメモリー管理、またtraitsや述語などに関するC++標準ライブラリの利用が新しく取り上げられ、特に力点がおかれています。さらに、コンテナやアルゴリズムを使うときに留意しなければならないガイドラインや注意点も盛り込まれています。これらのトピックをこれほど深く掘り下げたC++書籍は他にはありません。
以下のようないくつもの重要な問題にたいして、本書では解決を与えています。
●mstd::mapやstd::setを利用するときどんな落とし穴がありうるだろうか? またそれを安全に回避する方法はいかなるものだろうか?
●STLで安全に使用できる述語はどのようなものか? 安全でないのはどのような述語か? そしてその理由は?
●インスタンス化する型の特性によってその振る舞いが変更可能な汎用テンプレートに対して利用できるテクニックとは何か?
●いつ、いかなる方法でコードを最適化すべきか? 気を利かせたつもりの最適化が障害となり得る、あるいは実際に障害となってしまう理由は何か? そして、これらに対する解答は、マルチスレッドセーフなコードを作成する上で、どのような影響を受けるのか?
●例外安全はクラス設計に影響するか。それとも、後から思い立って追加できるようなものか?
●異なるベンダーのライブラリを組み合わせるとき「シャム双生児」問題をどのように避ければいいか?
●auto_ptrを安全に使用し、デザインパターンをうまく利用して典型的な落とし穴を回避する方法は何か? auto_ptrをクラスメンバーとして使用できるか? また、その場合、特に注意しなければならないことは何か?
●現代のC++において最も頻繁に尋ねられる質問であるが、名前空間は、いつ、どのように使うべきなのか?
C++言語に関する徹底的で実践的な理解を深めながら、すぐれたコードの作成方法を示す本書は、いっそうの上達を心がけるプログラマには必携の一冊でしょう。
目次
第1章 汎用プログラミングとC++標準ライブラリ
第2章 最適化と効率
第3章 例外安全問題とテクニック
第4章 継承とポリモルフィズム
第5章 メモリとリソースの管理
第6章 フリー関数とマクロ
第7章 各種トピック
付録A (マルチスレッド環境では)最適化にならない最適化
付録B シングルスレッド対マルチスレッドセーフなString実装テスト結果
感想・レビュー
※以下の感想・レビューは、株式会社ブックウォーカーの提供する「読書メーター」によるものです。
kaizen@名古屋de朝活読書会
Luo Yang
P_tan