0

I am trying to learn how to program c++, so I found a good guide on how to program c++, but it is written in 2007, 9 years ago! So I was wondering if I can use that guide or if the language has changed to much.

  • 4
    C++11, 14 (and soon 17) added quite a lot to the language (and STL). So while it will (probably) give you a good foundation for the language, modern C++ is in fact quite different (and usually more concise) – UnholySheep Oct 27 '16 at 13:45
  • 3
    It's gone through two new versions and is about to get a third. Get a more recent book, say one on the [definitive c++ book guide and list](http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list?rq=1) – jaggedSpire Oct 27 '16 at 13:45
  • 1
    It has changed quite a bit. Sure, the things will work, but you might do things you shouldn't anymore, or at least not do things well. C++11 brought many things and C++14 even more. Soon there's C++17... – Sami Kuhmonen Oct 27 '16 at 13:46
  • If you don't know how to program C++, how can you tell that the guide is good? – molbdnilo Oct 27 '16 at 14:12

2 Answers2

3

I would encourage you to go see this post first: The Definitive C++ Book Guide and List

The Cplusplus tutorial is a good place to start learning C++. It is updated to C++11 which is a good starting point.

You can use cppreference which is the reference and has the most detailed, up to date information on the C++ standard from any version (11/14 and upcomming 17). This is a lot more advanced though and may be hard to understand for a newcomer.

Cplusplusreference

Cplusplus tutorial

Community
  • 1
  • 1
Dart Feld
  • 213
  • 4
  • 18
  • Don't use w3schools, their site is absolutely terrible. For example, their [page on C++ strings](http://www.w3schools.in/cplusplus/strings/) actually teaches only C-style strings, and barely at that. – interjay Oct 27 '16 at 14:05
  • @interjay You are right, I like telling people to go there first because I find the approach simpler for new people. I have changed the tutorial for a better one that I think is harder to understand but will actually give more accurate information on C++11. – Dart Feld Oct 27 '16 at 14:27
0

There are currently 2 versions of "c++" out there.

In an ideal world everyone would use the new c++11 (and 14 and 17) version. For those you want a new tutorial.

The biggest changes came with c++11 so you should at least learn c++11. Best also the c++14 or maybe 17 features.

On the other hand quite a few companies cannot easily upgrade to c++11. So they use the old language features, which can be quite different and difficult compared to c++11 and beyond.

For learning I would recommend c++11 (14/17) because it makes several things easier (you have to think about less).

If you want to get into the depth of c++ you maybe should have a look at how things were before so you are familiar with old c++ and its limitations (and also familiar with the changes which occurred and maybe why).

You can also make an exercise to code the things you did with c++11 in old c++. While it will not teach you how to code in the future you may appreciate the changes more and also will not be overwhelmed when you stumble into some old c++ code which is still around.

Hayt
  • 5,210
  • 30
  • 37