- 出版社: Addison-Wesley Professional; 1 (2001年2月23日)
- 丛书名: C++ In-Depth Series
- 平装: 360页
- 语种： 英语
- ISBN: 0201704315
- 条形码: 0785342704310, 9780201704310, 0978342704316
- 商品尺寸: 24.9 x 2.5 x 25.8 cm
- 商品重量: 608 g
- ASIN: 0201704315
- 用户评分: 分享我的评价
- 亚马逊热销商品排名: 图书商品里排第1,474,598名 (查看图书商品销售排行榜)
Modern C++ Design: Generic Programming and Design Patterns Applied (英语) 平装 – 2001年2月23日
Andrei Alexandrescu is the author of the award-winning book Modern C++ Design (Addison-Wesley, 2001) and is a columnist for C/C++ Users Journal.
Foreword by Scott Meyers.
Foreword by John Vlissides.
|5 星 (0%)|
|4 星 (0%)|
|3 星 (0%)|
|2 星 (0%)|
|1 星 (0%)|
But the chapter which blew me away was that of typelists, and what author achieves by using simple metaprogramming constructs (although I would be the first one to admit that a mere mortal software developer like myself would not be using typelists everyday, but its still fun to learn about them).
This book is very different from whatever material I had read earlier on C++. Do read this book once you are familiar with topics like templates, common design patterns and smart pointers.
I've had this book for many years,but decided to write this review only now because after so many years the pearls of this beautiful masterpiece are unfolding to me. If I love C++ it is because of Andrei Alexandrescu and his amazing book. I only wish that he would write some more books like this. If you find this book to be scary at first and hard to understand, I would like to encourage you to keep on reading and trying. You'll get it eventually and once you do, there is no way back :)
Definitely gives a good coverage for all aspects of Meta Programming I think one of the measures of respect by which this book is regarded is how many of these pioneering techniques have made It into the Boost library.
Thoroughly recommended for the intermediate to advanced programmer to have in his library. Even if you don't use C++.
Alexandrescue's remarkable work is, in my view, the most original and important advance in C++ since the STL. It has been an article of faith in the design patterns community that one can't implement a reusable design patterns library in any language, because each pattern has dozens of important variations, and an unlimited number of custom variations, all seemingly interdependent. Alexandrescue's work seriously challenges this assumption. He uses "policy classes" (explained in Chapter 1) together with many innovative template techniques to pull apart these interdependencies. The heart of the book describes in detail how he developed the "Loki" library containing many gang-of-four design pattern implementations. Loki's SmartPtr, one of the high points of the book, puts to shame the Standard C++ auto_ptr, which has been the state of the art until now.
Even before Alexandrescue's work, templates provided C++ programmers with major advantages not available in "more modern" object-oriented languages such as Java and C#. Alexandrescue multiplies the existing advantages many times, facilitating dramatic increases in C++ programming productivity and quality. Isn't that what high-level language programming is all about?
The only negative comment I have is not really a criticism of Alexandrescue's work, but of the deplorable state of C++ compiler implementations. Because many C++ compilers, especially the most popular ones, still do not fully support Standard C++, many of Alexandrescue's techniques cannot yet be used in many practical situations. I would like to think that the importance of supporting Alexandrescue's library will motivate compiler vendors to make the necessary, and long-overdue upgrades.