- 出版社: O'Reilly Media, Inc, USA; 2nd Revised edition (2003年1月3日)
- 平装: 576页
- 语种： 英语
- ISBN: 0596004192
- 条形码: 0636920004196, 9780596004194
- 商品尺寸: 17.8 x 3.3 x 23.3 cm
- 商品重量: 885 g
- ASIN: 0596004192
- 用户评分: 分享我的评价
- 亚马逊热销商品排名: 图书商品里排第1,069,627名 (查看图书商品销售排行榜)
Practical C++ Programming (英语) 平装 – 2003年1月3日
"When I picked up Practical C++ I was very skeptical, I've read numerous books aimed at beginner/intermediate readers and very few of them left any lasting impression on me. This book however, did! It's an excellent book, and it feels like it's written by a programmer and not an academic as most tend to. Not only are you going to learn about C++ in the easiest way possible, you're going to learn a lot of tips from someone who's been developing in C++ a long time. ... But I can't say enough good things about this book, it covers a lot more than C++, and it has a whole chapter on program design. This book is all you need to get started with C++. The title says Practical C++ and I'd say it's very practical. Highly recommended." - Peter Waller, news@UK
Steve Qualline lives in Southern California, where he works as a software engineer for a major phone company. In his free time he is a real engineer on the Poway Midland Railroad. Steve has written almost a dozen books on programming and Linux software.
Bad move. The text is just filled with errors and bugs. Some bugs are so rudimentary you just have to question whether the authors tested the code. For instace, the section on substr on P.50:
"... to extract a portion of a string, there is the substr member function. [Form of function is]:
This function returns a string containing all the characters from first to last. ... "
And proceeds to give an example. Alas; the form of the substr function is NOT string.substr(first, last), but string.substr(first, number of characters). This caused me a good half hour of confusion and head scratching. I simply did not expect the book to get this wrong, and especially not with substr examples given right after.
Apart from bugs, typos and related logistic errors, this book suffers from poor integration of material. The chapters on Style and Programming Adages are pretty good, but the rest of the chapters (30 chapters in total) really need some serious conlidation. It's easy reading, true, but for me, it's hard to acquire a good understanding of C++ out of it.
The title of the book is somewhat misleading. A more appropriate title would be "Introductory C++ Programming". You cannot turn to this book when writing practical code.
So these days when I have C++ blues I turn to the other C++ books lying around in my lab, ruing at the same time for throwing away ~$30 getting this book. My enthusiasm and high praise for the O'Reilly series of programming books has taken a hit.
This copying extends to the ridiculous. In Practical C Programming, he gives a couple examples of optimization. They're reprinted word-for-word in Practical C++ Programming. Has he only done two code optimizations in his life? And obviously, these two weren't done with C++ in mind.
He's obviously a C programmer (and I think probably a pretty good one) who tried to write a C++ book but didn't really make much of a mental evolution. For example, his chapters on data structures are reprinted here, and they're the same words he used in his first book to discuss linked lists, trees, etc. That's fine and good, but the coverage of the STL, inheritance, design patterns, etc. is either very sparse or completely missing. It'd be better to have more discussion of inheritance and other OOP features than "how to write a linked list in C".
Judging by this book, Oualline is not a C++ expert but rather a C guy who views C++ as "more of the same". He took his earlier manuscript and marked it up with changes. A book that discusses C++ from the outset - rather than as an afterthought - would be much better.
Avoid this book.
What I do like about it are that the author challenges you with thoughtful examples that are helpful for comprehension.