- 出版社: Addison-Wesley Professional; 1 (2000年8月24日)
- 丛书名: C++ In-Depth Series
- 平装: 352页
- 语种： 英语
- ISBN: 020170353X
- 条形码: 0785342703535, 9780201703535
- 商品尺寸: 18.5 x 2.5 x 23.1 cm
- 商品重量: 454 g
- 品牌: Addison-Wesley Professional
- ASIN: 020170353X
- 用户评分: 1 条商品评论
- 亚马逊热销商品排名: 图书商品里排第689,840名 (查看图书商品销售排行榜)
Accelerated C++: Practical Programming by Example (英语) 平装 – 2000年8月24日
买 ￥199.00 减 ￥20.00: 满足条件自动优惠
Andrew Koenig is a member of the Large-Scale Programming Research Department at AT&T's Shannon Laboratory, and the Project Editor of the C++ standards committee. A programmer for more than 30 years, 15 of them in C++, he has published more than 150 articles about C++, and speaks on the topic worldwide.
Barbara E. Moo is an independent consultant with 20 years' experience in the software field. During her nearly 15 years at AT&T, she worked on one of the first commercial products ever written in C++, managed the company's first C++ compiler project, and directed the development of AT&T's award-winning WorldNet Internet service business.
0. Getting Started.
1. Working with Strings.
2. Looping and Counting.
3. Working with Batches of Data.
4.Organizing Programs and Data.
5. Using Sequential Containers and Analyzing Strings.
6. Using Library Algorithms.
7. Using Associative Containers.
8. Writing Generic Functions.
9. Defining New Types.
10. Managing Memory and Low-Level Data Structures.
11. Defining Abstract Data Types.
12. Making Class Objects Act Like Values.
13. Using Inheritance and Dynamic Binding.
14. Managing Memory (Almost) Automatically.
15. Revisiting Character Pictures.
16. Where Do We Go From Here?
Appendix A. Language Details.
Appendix B. Library Summary.
This is an especially great way for people who already know how to program, but want to learn C++ in particular. I come from a Perl and Python background, but want to get into the systems programming world. There is minimal belaboring of simple concepts like variables and loops, and instead the focus is on building useful abstractions and applying them to reasonable real world problems. Each chapter has some exercises at the end which cement and then extend what you learn in that chapter, but they manage not to end up feeling like college CS homework and not chew up more time than feels reasonable considering what you're trying to accomplish with the book.
The only complaint I have about this book is a strength and a weakness. As the chapters progress, the main example problem they have you work with (a program to keep track of and calculate students grades) continues to evolve and increase in complexity and features, which is great. The problem is, they often ask you to add a feature or reimplement a feature, assuming that you've either got it right there in front of you, and/or remember precisely how it was implemented. If you don't work through this book in some consecutive period of time (which I didn't - I took some breaks and/or used various machines to do different parts, and as such didn't have all my code nicely organized in one place) then it can take a considerable amount of effort to reimplement and/or rediscover the particular code they're asking you to modify. This is a reasonable expectation. It's just that if you don't have the same machine with a nice, organized copy of your code as you progressed, or if you've not been looking at the material for some time, it takes a good deal of effort to catch back up with where they want you to be in order to get on with the exercise they're asking you to do.
All in all, I learned the most programming I've learned from any book by focusing on the problems and features highlighted in this book. The explanations are all excellent and clear, and teach you not only the basic C++ language, object-oriented programming, and STL features such as copy() and find() that are standard ways of doing common actions in C++.