tags:

views:

197

answers:

7

Hi, this is my first time using stackoverflow. pretty thrilled. lol. anyway, there are hell of a lot books out there to teach you C++. But i was wondering whats the best well-known book to pick? I have pretty solid base in programming and I just wanna go over it fast. so any recommendations?! sorry for the cheesy question!

+2  A: 

If you are pretty solid with a language already and just want to get to the nitty gritty of things then Effective C++ by Myers.

JonH
That's a very good _second_ C++ book, but not a good _first_ one.
sbi
@AraK - I learned a lot about it, especially the ins and outs of new / malloc and pointers.
JonH
@sbi - OP says he knows the language. It is a solid book if you understand programming.
JonH
@JonH: No, he does _not_ say he knows the language.
sbi
I understand programming. I have no background or whatsoever of C++.
@user - if you don't have a background then the comments may be right, this is an advanced book, however I still think it is a GOOD book alongside any other C++ book. It will help you avoid pitfalls which are never discussed in beginner books. In addition, this book will make you a more alert programmer.
JonH
@JonH: As I said, it's a very good _second_ book if you're programming C++ - which is what Scott aimed for.
sbi
@sbi - I understand what you said you don't need to keep repeating yourself..you sound like a broken record.
JonH
@JonH: Well, to me it seemed your repeated your statement, so I felt inclined... Anyway, is that why you down-voted my answer?
sbi
@sbi - No I negated you for your negating some good answers on here and for your broken record. One thing I don't like is when people say things like "As I said...". I am not stupid, been in the industry long enough.
JonH
@JonH: You do realize that we're supposed to vote on the _answers_, not the answerers?
sbi
@sbi - and I don't like your answer.
JonH
+7  A: 

If by "concise" you mean you're prepared for a steep learning curve, I suppose Accelerated C++: by Andrew Koenig and Barbara Moo is still a very good book.

sbi
I got it. I think its a crash-course type of book. Exactly what i had in mind. Awesome. thank u!
@user293120: Be prepared for a steep learning curve. Oh, and this is C++. Once you're through the 250 pages of that book, you might consider applying for a trial period which might, eventually, lead to you becoming a novice. `:-x` Make your pick for the next book at http://stackoverflow.com/questions/388242
sbi
A: 

I recently found useful C++ for Programmers: Deitel Developer Series is effective on subject and explanatory.

EDIT
I remembered, for a no-babble slides-kind-of-guide researcher-concise-style:
http://www.fz-juelich.de/jsc/files/docs/bhb/bhb-0154.2up.pdf
http://www.fz-juelich.de/jsc/files/docs/bhb/bhb-0155.2up.pdf

clyfe
Deitel's books are needlessly verbose, and get a lot of the small details wrong. They are also quite bad idiomatically.
Joel
I don't know about other deitel books but this one is pretty worthy from the "head first" point of view because it has a good concise structure.
clyfe
+1  A: 

I recommend Thinking In C++ by Bruce Eckle. It covers the details well. I already knew some other languages when I read it, and it doesn't assume that, but I didn't find that to be a problem. Another nice thing is it's available free online, as well as a hard copy. A lot of people like reading real paper books, but personally I like to read computer stuff on the computer.

crimson_penguin
+1  A: 

Essential C++, by Stan Lippman or Accelerated C++, by Andrew Koenig and Barbara Moo.

Eddy Pronk
A: 

The C++ Programming Language, Second Edition by Bjarne Stroustrup ISBN 0-201-53992-6

Later editions seem bloated. The second edition seems to be the best content / weight ratio for my purposes. Note that this book will ONLY teach you C++ (how to do it), if you need to learn object oriented programming (what you're trying to do) at the same time, either the "Thinking in C++" by Bruce Eckle or a Dietel C++ book are pretty good (but substantially thicker).

I wish there was an even smaller C++ book that really covers the bases, but it's a language that covers a lot of ground, just oddly enough that every corner you cut will come back to bite you.

I also recommend the C++ mini FAQ as supplemental reading, although it's more of a style guide to keep you from injuring yourself too much than a true programming text.

Edwin Buck
Correct me if I'm wrong, but IIRC the second edition of _TCPL_ doesn't say a word about the STL and most of the rest of the standard library - because there wasn't even a C++ standard back then. Generic Programming (which is behind the STL) wasn't yet invented. How can you learn C++ without all this?
sbi
He stated he wanted to learn C++, not STL. To some of us, the two are not the same.
Edwin Buck
@Edwin: I beg to differ. C++ is the syntax plus the standard library and IME ignoring the latter makes for lousy C++ programmers. Especially the STL, which pretty much swept all the other container/algorithm libraries off the face of C++, should not be ignored. But there's more that's missing from the 2nd edition. (I don't think it even mentions exception safety. What about wide character IO? etc.)
sbi
Feel free to voice your opinions, but a blanket statement that non-STL users are poor programmers is a bit over-reaching. STL has its benefits and trade-offs, but it is certainly not required to program in C++, nor is it a requirement to program in C++ well. It's the craftsman that makes the product, not his tools. Errors in logic like this might incline me to say you don't program C++ because you don't use boost or Qt!
Edwin Buck
A: 

I am not sure on going fast with C++ because it would not be just. But if you want some good book than I would surely suggest Effective C++ and More Effective C++ by Scott Meyers

Rachel
http://stackoverflow.com/questions/2541576/2541588#2541588
sbi