C++ tutorial for experienced C programmer

C++

C++ Problem Overview


I have been programming exclusively in C for 25 years but have never used C++. I now need to learn the basics of C++ programming. Can anyone recommend an online tutorial (or failing that a book) that would be most suitable for me. Thanks.

Edit: I actually needed the C++ purely for the purposes of adding a couple of dirty hacks to a huge and old C program. Converting the entire program in to properly written OO code is entirely economically unfeasible. Some people have criticized the suggested solutions based on the fact that they will lead me down the path of becoming a "C programmer who knows some C++ without getting in to the proper spirit of C++" - but actually that fits my requirements perfectly.

Edit: The link in the top voted answer seems to be broken right now but the file appears to exist in multiple places - e.g. here.

C++ Solutions


Solution 1 - C++

This might be of some use: C++ tutorial for C users.

If you're looking for a book, check out "C++ for C Programmers" by Ira Pohl (Amazon).

Solution 2 - C++

I found Thinking in C++ very good when I was going from C to C++.

Link broken - can now be found here

Solution 3 - C++

I'd like to suggest the New C++ Super-FAQ created by Bjarne Stroustrup, Herb Sutter, Andrei Alexandrescu, Pearson / Addison-Wesley Publishers and Marshall Cline (http://www.parashift.com/c++-faq/).

Solution 4 - C++

If you can get hold of a 2nd edition of Scott Meyer's "Effective C++", that should help, as it was written for former C developers. It lists 50 rules that you should follow which are easily to remember, thoroughly explained, and fun to read. (Scott's goal was to write the "best 2nd C++ book" one should read an I think he succeeded in that.)

The 3rd edition of the book was completely overhauled and targets developers coming from C#, Java etc. more than earlier editions. It might be good read nevertheless.

Solution 5 - C++

Accelerated C++ is good too.

Solution 6 - C++

This very recent SO question asked by an inexperienced C programmer nevertheless has answers that are also relevant to experienced C programmers.

Solution 7 - C++

If you're already a good C programmer, you can probably jump right into the bible, Stroustrup's The C++ Programming Language.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionMickView Question on Stackoverflow
Solution 1 - C++DonutView Answer on Stackoverflow
Solution 2 - C++Steve FallowsView Answer on Stackoverflow
Solution 3 - C++KV PrajapatiView Answer on Stackoverflow
Solution 4 - C++sbiView Answer on Stackoverflow
Solution 5 - C++StackedCrookedView Answer on Stackoverflow
Solution 6 - C++AshView Answer on Stackoverflow
Solution 7 - C++me22View Answer on Stackoverflow