I am having trouble finding a comprehensive and recent (2012 or later) C++ tutorial. I am liking learncpp.com, but it looks like most of their stuff is from 2007. Will that be a problem for a rank beginner? And if it's not when will it start to matter?
-
3[This](http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list) may help you. – haccks Jun 09 '14 at 17:40
-
1I recommend the second book from the above list "The C++ Programming Language (Bjarne Stroustrup) (updated for C++11)" however I have written easily over a million lines of c++ between MFC and Qt over the last 17 years. I bought the book to learn c++11 and to try to correct some of the bad habits MFC and Qt taught me. – drescherjm Jun 09 '14 at 17:45
-
Hey @drescherjm, any good resource to learn Qt :) – haccks Jun 09 '14 at 17:51
-
1Ask Bjarne. He claims that C++11 makes C++ easier to start with and learn. – chris Jun 09 '14 at 18:02
-
I used "C++ GUI Programming with Qt4". I am not sure what edition its at home. I also do not / can not use Qt5 yet because of library dependencies. – drescherjm Jun 09 '14 at 18:02
-
@drescherjm; I have 2nd-ed. Its more than 700 pages. That's too much!! :) – haccks Jun 09 '14 at 18:12
-
I actually wish it had more pages so that they could have gone into more detail on some topics. – drescherjm Jun 09 '14 at 18:47
2 Answers
No it is definitly not a problem, you see, learning your first programming language can almost be anything. It is just the way of thinking which you have to learn.
I've been teached C at the university, but learning Java took one night (Yes I had to try for an assignment). Even learning an old cpp standard is not wasted time, almost no basic things have changed since then (mostly some very advanced stuff). So just start the tutorial and try a lot yourself!! Doing things instead of learning helps a lot for understanding
And most of all, be creative, try small programs yourself. Write test programs if you wonder about certain things!! For questions you can always create a Stackoverflow thread!
Good luck

- 2,419
- 2
- 18
- 30
C++07 is plenty up to date - most of the stuff you learn as a beginner should be doable in C++98 - a lot of the new stuff added is not critical to functionality - the new stuff is typically just things to make life a tad easier when doing more complicated things. But for 99.99% of the stuff you could ever do in C++, it is doable in C++03 just as well as C++11.

- 767
- 1
- 9
- 19
-
2I would consider `unique_ptr` and `shared_ptr` to be huge additions to the language, as nowadays you should never be writing `new`, unless you're doing some very niche stuff. – bstamour Jun 09 '14 at 17:51
-
I guess that is true - they are fairly significant additions. However, as someone just learning the language, I would argue that it is actually beneficial to use `new`, as it gives you a bit more understanding about what is going on underneath the hood of the C++11 pointers. Regardless of whether or not that opinion is universally held, I will say that there will be very few situations (0.01%) where a person learning C++ will be unable to acceptably replicate the behaviour of `unique_ptr` and `shared_ptr` with `new` with little issues. – Zambezi Jun 09 '14 at 18:16
-
1Also I consider very very important to understand raii and how to implement it properly (From the rule of three/five to the rule of zero), and move semantics. Understanding that two points is one of the most important things when learning c++ I think. When I teached C++ at my university this year that where two of the main points I focused the course. – Manu343726 Jun 09 '14 at 20:28