What is good book for industry level C++ programming? I am not looking for a beginners C++ book that talks about datatypes and control structures. I am looking for a more advanced book. For example, how to build system applications using C++. Any kind of guidance will be very helpful.

closed as not constructive by Smi, SingerOfTheFall, Aziz Shaikh, Alex Reynolds, Jan Gerlinger Nov 12 '12 at 11:37



Modern C++ Design by Andrei Alexandrescu is probably the most advanced C++ book out there. It's more about very advanced design patterns rather than building software.


If you're looking for books on refining your craft in C++ as a language, you don't get much better than Scott Meyers' Effective C++ and More Effective C++ and Herb Sutter's Exceptional C++, More Exceptional C++ and Exceptional C++ Style. All are packed with invaluable information on bringing your facility with the language from the intermediate to the advanced level.

System-level programming is specific to operating system, so the books diverge based on your platform. Ones I've found very helpful (albeit not C++ specific) are: Windows System Programming, by Johnson M. Hart, Advanced Windows Debugging, by Mario Hewardt and Daniel Pravat, and Linux System Programming, by Robert Love.

All of these books (as well as Peter Alexander's excellent suggestion of Modern C++ Design) are available on O'Reilly's Safari service, which is a pretty cost-effective way of doing a lot of technical reading on the cheap and well worth checking out if you're considering going on a studying binge.

  • +1 for Scott Meyer's books. Took my understanding of C++ to a whole new level. – Edan Maor Apr 4 '10 at 18:32

There are no such books that I am aware of (someone will no doubt suggest the Lakos book, but it is out of date and not very good in any case) because almost no one really knows how they develop such systems. The few that have done so have managed it because they are very smart and very talented, two things that cannot be transmitted in print.

  • +1 for the statements about the Lakos book. I found it to be outdated, rambling, and of little practical use. Also, IMO you're completely right -- the best source of info for such an undertaking is someone who's already (successfully) tackled such projects previously. Unfortunately, such individual don't grow on trees (but fortunately many of them contribute to SO). – Dan Apr 4 '10 at 17:41

You should try actually working your way through Stepanov's Elements of Programming. I say this because this book accurately presents the methodology and logic Stepanov used while developing the Standard Template Library --- probably some of the most influential "industrial" code out there.


Lakos' Large Scale C++ Software Design is quite a good intermediate-advanced level book about C++ software architecture. It's a little out of date - predating widespread use of templates for example - but it is quite a good book on the subject.

Lakos worked for Mentor Graphics in the 1980s when first generation workstations were the technology du jour. This was an era when the difference in performance and memory footprint between C and C++ apps was regarded as significant. This 'old school' approach discusses efficient C++ systems architecture in some depth, which is a bit of a unique selling point for this book.

  • 1
    Sadly, Lakos is very outdated, though. I wouldn't recommend it anymore. – sbi Apr 4 '10 at 16:47
  • I'm not entirely convinced with the 'Lakos is outdated' meme. It still contains a lot of relevant material and there's very little in the book that's not 'valid' any longer. While it's not the be-all and end-all of C++ software architecture it's certainly still worth reading. – ConcernedOfTunbridgeWells Apr 4 '10 at 16:59

These are the best two books I have seen and read

Advanced C++ Programing Styles and Idioms

C++ Common Knowledge

  • 2
    Did you bother to read the question? – anon Apr 4 '10 at 16:33
  • I did, and these are the best i have seen. C++ Common Knowledge is a sick book. – Nix Apr 4 '10 at 16:39
  • You can't be good at any language until your tool box is complete. C++ primer is* a good book. – Nix Apr 4 '10 at 16:46

In addition: Multi-paradigm design


C++ Templates : The Complete Guide by David Vandevoorde and Nicolai M. Josuttis http://www.vandevoorde.com/Templates/

Everything you wanted to know (and more) about C++ templates, their uses and technicalities, design philosophy, and applications to compile-time metaprogramming.
