あらすじ
※この電子書籍は固定レイアウト型で配信されております。固定レイアウト型は文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。
メタプログラミング、ポリシーベース/コンセプトベースの設計手法、SFINAE、Type Erasureなど、テンプレートの機能を使ったプログラム共通化の仕組みを、わかりやすく解説。最新規格、C++11に対応!!
感情タグBEST3
Posted by ブクログ
C++11 のテンプレート機能に特化して、基本的な使い方から、高度な活用法までを解説しています。
テンプレート関連の本は他にもありますが、本書は比較的読みやすい部類だと思います。(それでも結構、辛いところもありますが…)。
文法解説のような基本的なところから始まって、各種テクニックを1つ1つ詳細に解説しています。標準ライブラリや Boost での利用例も取り上げられており、各テクニックの実用性の高さが示されています。
初版では、C++03 の範疇で出来ることに限られていましたが、第2版になって C++11 が対象となりました。C++11 で様々な新機能が加わったことに対応して、大幅な加筆・修正がなされているので、初版を持っている人にも購入するだけの価値があります。
テンプレート関連の技法には、積極的に学習しない限りは想像も付かないような手法が多数あります。平均的なレベルのプログラマが想像も付かないような手法を、現実のプログラムの中で使いすぎるのは問題がありますが、取り入れる価値のある手法は幾つもありますから、学習しないのは勿体ないと思います。
比較的読みやすい本書で、じっくり学んでみてはいかがでしょうか?
Posted by ブクログ
会社で勉強会のネタにこの本が選定されたので読んでみた。
数年前に第一版を読んだ時にも書いたが、、、後半の変態っぷりがもうね。(褒め言葉)
書籍は非常に丁寧に書かれているので、なんとかついては行けたが、勉強会で人に説明するところまで昇華できているかというと、、、、かなり心もとない。。。
SFINAE くらいまでならまぁ説明できる自信はそこそこあるけど、Type Erasure とか CRTP とか無理ゲーじゃね?