Hacker News new | ask | show | jobs
by andrewcooke 4940 days ago
toning down the rhetoric, a good "modern c++" book would be awesome - something that shows how to use a solid, simple core with the latest features in, say, the first half, and then has further chapters extending that with more complex approaches where needed.

i've asked for this kind of thing before,but never had a really good suggestion. seems like it could be a huge seller...

[when i last asked here what, 6 months ago, i think the only vaguely useful answer i got was to read the draft standard]

2 comments

+1 for a "C++: The Good Parts". With a resource like that I might be interested in taking another look at the language.
This sort of thing would be extremely useful for me at the moment. I have a new role starting in a month or so, with a lot of green-field C++ development work. I'm happy with OO concepts and have extended a variety of pre-existing C++ in my time, but my main body of knowledge is most definitely C.

Can anyone recommend a quick-start guide to modern(ish) C++ for the experienced C developer?

If you're coming from C, then you need to understand the STL's concepts of "Concepts", "Modeling", "Refinement", and Iterators etc: http://www.sgi.com/tech/stl/index.html (that link doesn't cover C++11, nor even the STL additions in C++03 and TR1; but it is still essential background reading).

When some people say "Modern C++" they mean template meta-programming (traits, partial template specialisation, etc) as exemplified by Alexandrescu's book "Modern C++ design": http://www.amazon.com/Modern-Design-Generic-Programming-Patt... (note that I am not necessarily advocating such techniques, but understanding them will certainly help when you run across them in the wild).

C++ Primer was updated to C++11. http://www.amazon.com/Primer-5th-Edition-Stanley-Lippman/dp/...

The C++ FAQ is really helpful but doesn't seem to be updated to C++11 http://www.parashift.com/c++-faq/

Fortunately you can refer to Stroustrup's FAQ about C++11 http://www.stroustrup.com/C++11FAQ.html

For reference (like libc manpage, basic usage, which header to include): http://en.cppreference.com/

"Welcome Back to C++ (Modern C++)" while not a book is not a bad place to start (I posted the link earlier in a prior comment, sorry for the dup):

http://msdn.microsoft.com/en-us/library/hh279654.aspx