The good C++ books for intermediate to advance level...

Started by
10 comments, last by _the_phantom_ 18 years, 1 month ago
Hi, I start to feel fairly confident in my basic use of C++, even doing some hobby game coding (with win32/gdi) that doesn’t look to crappy. But I like to improve my skills in just about every part of the language and general coding, i.e. how do I take it to the next level after learning the standard "beginning C++ coding" book. I am for instance blissfully ignorant then it comes to common "good to know" algorithms and so on. Finding information on the web is always possible but a good written book does it so much easier for me to learn… so PLEASE tell me about all these essential need to get books? Best regards, /twinkle
current hobby project found in folder test02 @ http://www.norberg-gbg.com/stefan/testgame/
Advertisement
Quote:how do I take it to the next level after learning the standard "beginning C++ coding" book.


Learn to use the C++ Standard Library to its full extent ("The C++ Standard Library, a tutorial and reference" by Nicolai Josuttis)

Learn to use the Boost Libraries to their full extent (www.boost.org)

"C++ Common Knowledge, essential intermediate programming" by Stephen Dewhurst. There are more books worth reading, but I suggest you start with this one.

Quote:I am for instance blissfully ignorant then it comes to common "good to know" algorithms and so on.


"Algorithms in C++" (Parts 1-4 and 5) by Robert Sedgewick

And consider learning another language to complement C++ (www.python.org).

"Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it." — Brian W. Kernighan
The biggest thing I can say is make sure you code/work on a variety of projects. They don't have to be huge, but just be doing something small here or there and it'll help you learn the small things in between the cracks.
Eric Wright o0Programmer0o
Quote:Original post by KingsRevenge
The biggest thing I can say is make sure you code/work on a variety of projects. They don't have to be huge, but just be doing something small here or there and it'll help you learn the small things in between the cracks


Yeah, I know... doing things are for sure the best way of learning. But it feels a lot like I just know the bare minimum, i.e. the language by itself, but don’t know about the possible ways of using it. Knowing about the possibilities should speed up my learning by doing process. My University education was chemistry oriented, didn’t have anything coding related but for spending two weeks doing some silly Fortran77 (Fortran is nice, the thing we did was just stupid) coding which quite sadly made me avoid all coding for a period of 8 years. So I need to pick up all the stuff that is outside the coding language. :)

Quote:"The C++ Standard Library, a tutorial and reference" by Nicolai Josuttis

"Algorithms in C++" (Parts 1-4 and 5) by Robert Sedgewick

I been thinking about getting the two books above, are they the best of their kind?

Quote:"C++ Common Knowledge, essential intermediate programming" by Stephen Dewhurst

Will take a look, thanks.

Regards
/twinkle ;)
current hobby project found in folder test02 @ http://www.norberg-gbg.com/stefan/testgame/
Quote:Original post by Twinkle
I been thinking about getting the two books above, are they the best of their kind?


IIRC, Musser & Saini's "STL Tutorial & Reference Guide" only cover the STL (I don't have my copy here). Jossutis covers the whole C++ library. It's still a must-have, in my opinion.

I also liked Sedgewick's algorithms books better than Cormen, Leiserson, Rivest & Stein's "Introduction to algorithms", which is one of the standard textbooks on the topic.

Quote:
Quote:"C++ Common Knowledge, essential intermediate programming" by Stephen Dewhurst

Will take a look, thanks.


It's cheap. Buy it. Trust me.
"Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it." — Brian W. Kernighan
Quote:
Quote:
Quote:"C++ Common Knowledge, essential intermediate programming" by Stephen Dewhurst
Will take a look, thanks.
It's cheap. Buy it. Trust me.
will do, thanks...

current hobby project found in folder test02 @ http://www.norberg-gbg.com/stefan/testgame/
Quote:Original post by Twinkle
But I like to improve my skills in just about every part of the language and general coding, i.e. how do I take it to the next level after learning the standard "beginning C++ coding" book.


To improve your general coding I would recommend "Code Complete, Second Edition" by Steve McConnell


i 'd also like to recommend "template metaprogramming" by abrahams and gurtovoy, http://boost-consulting.com/mplbook/
even if you 're not a metaprogramming freak this books is perfekt if you want to understand what can be done with templates.

- simon
I'll just add that I have both of Sedgewick's algorithm books and they are well written.
Introduction to algorithms covers nearly every "good to know" algorithm, and then some. It can be rather dense with infomation, and requires some skill with math to understand.

If you want to improve your skill with C++

Thinking in C++ is good (and free) book. It explains a lot of the quirks of C++ and why they're there. I think it's a great 2nd or 3rd C++ book.

There's also effective c++ and more effective c++, which should be required reading for anyone who wants to really learn C++.

This topic is closed to new replies.

Advertisement