So, I want to learn C++ the right way, and by that I mean I don't want to just blindly dive right in, so I'd like some guidance so I can know where to start.
What exactly should I learn first, and how exactly should I go about learning it? That's my main question, really. I don't want to just learn the whole C++ library and what all the commands do, yet have no real understanding of why they do those things.
I don't really know much about programming yet, and I'm not sure whether I should first learn all the terms for things and what-not, or just start watching C++ tutorials and learning the library first.
I was hoping some more seasoned programmers could give me some tips :)
My advice: just blindly dive right in.
What's the worst that could happen? Lol.
If you're serious about wanting to learn C++, there's no replacement for a good book. Personally, I could never get myself through e-books or online tutorials; there's something about having text in front of me that helps me retain the material. That being said, http://www.cplusplus.com/forum/lounge/44380/
This post has a lot of good suggestions for books to think about buying.
As for the order to learn things in, this has been debated since before time. There's no real correct answer for that. Some will argue that teaching the standard library first and then teaching behind the scenes second is more beneficial, others argue the opposite. You certainly can't do much without the standard library as a beginner, though. The best advice that I can give you is grab a book like C++ for Dummies or C++ Primer, then read and practice. Once you form a good mental image for the general structure of a program (syntax, semantics, etc etc), you'll probably find that the rest will come to you relatively easily.
I would say the best thing to do would be to go to your local college and see if you can take some classes in c++. You don't necessarily have to go for a degree to take some classes. In my college you have to take c before you take c++. In case you don't know c is the language that c++ is based on, you might wan't to start there. However, I would recomend this book for c++ its the one i use in college and I thought it was pretty good. I'ts a bit pricy though. The title is "A first book of c++" (I have the fourth edition).
A lot depends on what learning method works best for you. For me, I prefer a good book over video tutorials. It also depends on what other programming background you have. If you have some programming experience then you probably already understand data structures. IMO, you need to have a good understanding of data structures before tackling the the standard library (with the exception of iostream).
In case you don't know c is the language that c++ is based on, you might wan't to start there.
That's also a giant misconception. It's true that C++ is an extension to C, but you in no way need to know C before you learn C++, because by learning C++ you're also learning C - they're the same language with different features.
What I said was that my college requires you to take c before c++. That is the rules set by the school. I was not saying that you had to learn c first. Just that in my college you can't take c++ until you pass c.
Well, I learned some Python before deciding it wasn't the language for me, and then I moved on to wanting to learn c++. I find that the site that helped me learn Python the best was this one:
due to the fact that not only did he explain how to program using Python well, but also gave you 'homework' to do at the end of each lesson. Does anyone know of a site that uses similar teaching methods for c++?
That seems to be a reputable resource.
There's no replacement for a good book, though. Most C++ books have exercises at the end of the chapter for you to complete to reinforce the concepts.
I can't really say if it's a good source or not as I'm only half way through and just started last week (I have no programming experience).
The U of W source is old for sure but I've found that so far most things between it and the C++ primer are consistent. I expect this to change once the material starts getting more advance.