3 ms·
As someone who wants to learn modern c++, what are some good resources/books to learn from ? I have python and java experience and I have been reading Accelerat
by bigbv2093 12y ago
As someone who wants to learn modern c++, what are some good resources/books to learn from ? I have python and java experience and I have been reading Accelerated C++ since a while now.
- frankzinger 12y agoNot a definitive list, but these are good: The C++ Programming Language, 4th edition Bjarne Stroustrup The C++ Standard Library, 2nd Edition Nicolai M. Josuttis Effective C++, More Effective C++, Effective Modern C++ Scott Meyers http://en.cppreference.com
- pmelendez 12y agoI would also add Effective STL too. A Tour of C++ by B. Stroustrup is a good start point for a beginner too
- slm_HN 12y agoWell, don't forget about exceptions, unless you decide to ban them like many people do. So add: Exceptional C++ by Herb Sutter More Exceptional C++ by Herb Sutter Exceptional C++ Style by Herb Sutter And Templates: C++ Templates: The Complete Guide by Josuttis & Vandevoorde And of course you need some background in generic & metaprogramming, so add: Modern C++ Design by Alexandrescu Advanced C++ Metaprogramming by Gennaro So you're looking at over ten books. What does this say about C++? Can you think of another language that has a ten book prerequisite?
- bstamour 12y agoAll of that is hardly prerequisite for using modern C++ on a day-to-day basis. You can get away with just reading "A Tour of C++" and the Effective C++ books. If you want to start writing highly generic libraries with the intention of submitting them to boost, then absolutely you should be reading everything in your list and more. But how many C++ programmers are writing boost libraries?
- frankzinger 12y agoYeah and the Exceptional C++ series is not 'about exceptions' either. It looks like he just googled 'c++ exceptions book', and the same for templates and metaprogramming, probably.
- failrate 12y agoIt is also excellent for people who have worked in an older style of C++ and want to get a jumpstart on modern practices and the new C++11 features and keywords.
- bigbv2093 12y agoThanks, I'll read through those as well.
- replicant 12y agoI resort continuously to this list, https://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list https://stackoverflow.com/questions/388242/the-definitive-c-...
- zanny 12y agoAs an addendum, I highly recommend not reading decade old source code like this as an example of modern C++. C++11/14 have changed the language so much for the better that anything targeting C++03 should be ignored for new projects and especially for new learners. Also, avoiding Boost and Qt early on is also a good idea. Both have tremendous stylistic and design differences from ISO C++ and while the language supports all of them when using the Boost libraries and Qt toolkit you need to shift mindset entirely in how you are writing code to match the backing architecture. Learn the core language first.
- ta0967 12y agothe STL is also totally unlike the standard C library. are things like <algorithm> or <string> to be avoided because the core language is <cstdio>?
- frozenport 12y agoI disagree because writing a Qt program is often the end goal.
- chadzawistowski 12y agoI really enjoyed Effective Modern C++. It covered the interesting stuff I wanted to know, and skipped the introductory "in case you've never programmed before" fluff. http://shop.oreilly.com/product/0636920033707.do http://shop.oreilly.com/product/0636920033707.do