Cpplanguage » History » Version 2
Nicolas Aunai, 27/08/2016 05:02 PM
# Programming with C++
Here are some references on C++:
* [The C++ Programming language, Fourth edition, Bjarne Stroustrup](http://www.stroustrup.com/4th.html) is C++11/14 is the exhaustive bible/reference from [B. Stroutrup](http://stroustrup.com), the inventor of C++
* [Programming Principles and Practice Using C++ 2nd edition](http://www.amazon.com/Programming-Principles-Practice-Using-Edition/dp/0321992784) (C++11/14) is a book for new comers to C++, from basics to more advanced topics it has nice explanations and comes with exercices ([solutions here](https://github.com/bewuethr/stroustrup_ppp)
* [Effective C++: 55 Specific Ways to Improve Your Programs and Designs ](https://www.amazon.fr/Effective-Specific-Improve-Programs-Designs/dp/0321334876) Nice book written by [Scott Meyers](http://scottmeyers.blogspot.fr). Is pre-C++11 but still very useful.
* [Effective Modern C++ 42 ways to improve Your Use of C++11 and C++14](https://www.amazon.com/Effective-Modern-Specific-Ways-Improve/dp/1491903996), from [Scott Meyers](http://scottmeyers.blogspot.fr), highly recommended to understand the new way of developing after C++11. Is for intermediate to advanced C++ programmers.
* [Scientific and Engineering C++: An Introduction with Advanced Techniques and Examples](https://www.amazon.fr/Scientific-Engineering-Introduction-Advanced-Techniques/dp/0201533936) Pre-C++11, very good to learn C++ (for C and Fortran programmers) and presents design techniques.
* [Modern C++](https://www.youtube.com/watch?v=TJHgp1ugKGM)
* [Effective C++11/14](https://www.youtube.com/watch?v=IqVZG6jWXvs) Nice video from Scott Meyers (authors of the book effective C++11/14). very good explanation of std::move/std::forward
* * [Programming using C++ : Video Tutorials](http://www.tutorialspoint.com/video_tutorials/programming_using_cplusplus/PCP-T)
### Smart pointers
* [When should I use raw pointers over smart pointers?](http://stackoverflow.com/questions/6675651/when-should-i-use-raw-pointers-over-smart-pointers)
* [Which kind of pointer do I use and when?](http://stackoverflow.com/questions/8706192/which-kind-of-pointer-do-i-use-when)