Modern C++ Design―ジェネリック・プログラミングおよびデザイン・パターンを利用するための究極のテンプレート活用術 (C++ In‐Depth Series)
|
| 価格: | ¥ 3,780 1500円以上は送料無料 詳細 |
発送可能時期: 在庫あり。
販売、発送は Amazon.co.jp
商品の詳細
- Amazon.co.jp ランキング: #46268 / 本
- 発売日: 2001-12
- 版型: 単行本
- 337 ページ
エディターレビュー
内容(「MARC」データベースより)
C++言語のテンプレート機能を有効利用した、再利用可能な設計パーツ、ジェネリック・コンポーネントを構築する方法を、汎用プログラミングの基礎から実装まで、C++ライブラリLokiを使って具体的に解説する。
From the Back Cover
Modern C++ Designis an important book. Fundamentally, it demonstrates ‘generic patterns’ or ‘pattern templates’ as a powerful new way of creating extensible designs in C++–a new way to combine templates and patterns that you may never have dreamt was possible, but is. If your work involves C++ design and coding, you should read this book. Highly recommended.
–Herb Sutter
What’s left to say about C++ that hasn’t already been said? Plenty, it turns out.
–From the Foreword by John Vlissides
In Modern C++ Design, Andrei Alexandrescu opens new vistas for C++ programmers. Displaying extraordinary creativity and programming virtuosity, Alexandrescu offers a cutting-edge approach to design that unites design patterns, generic programming, and C++, enabling programmers to achieve expressive, flexible, and highly reusable code.
This book introduces the concept of generic components–reusable design templates that produce boilerplate code for compiler consumption–all within C++. Generic components enable an easier and more seamless transition from design to application code, generate code that better expresses the original design intention, and support the reuse of design structures with minimal recoding.
The author describes the specific C++ techniques and features that are used in building generic components and goes on to implement industrial strength generic components for real-world applications. Recurring issues that C++ developers face in their day-to-day activity are discussed in depth and implemented in a generic way. These include:
* Policy-based design for flexibility
* Partial template specialization
* Typelists–powerful type manipulation structures
* Patterns such as Visitor, Singleton, Command, and Factories
* Multi-method engines
For each generic component, the book presents the fundamental problems and design options, and finally implements a generic solution.
In addition, an accompanying Web site, awl/cseng/titles/0-201-70431-5, makes the code implementations available for the generic components in the book and provides a free, downloadable C++ library, called Loki, created by the author. Loki provides out-of-the-box functionality for virtually any C++ project. 0201704315B07092001
About the Author
Andrei Alexandrescu is a development manager with RealNetworks, Inc. A columnist for C/C++ Users Journal and a former columnist with C++ Report, his innovative work with C++ has earned him the respect of the leaders in the field. Andrei’s technical interests include programming languages, software reuse, and data compression.
0201704315AB05072001
カスタマーレビュー
テンプレート
この本はテンプレートをフル活用して、あると便利な、強力な機能の実装方法を説明している。それまで、テンプレートは「コンテナを作るのに便利だ」といった、型を抽象化できるぐらいにしか思っていなかった。この本を読んで、テンプレートの本来の力・可能性を思い知った。
必読
とんでもなく、技巧的で。
とんでもなく、難解で。
とんでもなく、マニアックで。
テンプレートというものがここまで汎用性に富むものだとは、
当初考えていなかった。
その可能性に気づかせてくれる良書。
C++を効果的に活用するためには読んでおかないと損。
これを読んで、ずいぶんコーディングのスタイルが変わったし、
間違い無く2,3段階上のレベルに到達できたと思う。
が、ところどころマニアックだし。
使えないと断定されている部分もある。
(PhoenixSingletonなぞ、何処で使うんだ?OSを記述するとき?)
(メモリアロケータSmallObjは、汎用のnew,deleteよりも遅い。)
まあ、そこを差し引いても、十二分に価値がある。必読。
文句なしに良書です。しかし内容は難解です
C++のテンプレートは抽象化し、コンテナが便利であるということぐらいしか認識をもたずに使用していたが、本書を読んでこんなこともあるのか!と思わせるような役に立つことが解説されている。
ぜひともお勧めしますが、内容は難解です。C++を一通り理解してEffective STLなどを読むレベルの方にお勧めする本です





