Hello there!
I have been learning c++ for now 6 months and when i started my goal was to use it whit openg or something similliar
I made long, long list and its here:

I learned this stuff from....YOUTUBE! from user called antirtfm and thenewboston and heres the things that i learned:

THE SCARY,BIG, PAINFUL LIST

basic stuff like: string(+ string headers functions...) class(public,private,protected...) inheritense, polymorphism, pointers,references, "your own storage room" int*prt=new int;, cout, cin , get.line(cin,x), different operators, function.class.operator overloading, arrays(2d arrays...), function templates, class templates, global.local scope, swicth statement, exeption(try, throw, catch), wokring with files, unary scope resolution, and stuff between there.

I WOULD BE HAPPY IF YOU COULD RECOMEND A GOOD PLACE WHERE I COULD LEARN SOME MORE C++? OR FREE BOOK? OR WEBSITE? VIDEO?

sorry about my horrbile spelling(writing in a rush + third time writing this post(backshals, laptop mouse pad + <--))

I would challenge my mathematical mind with challenges of http://projecteuler.org, depends if you are mathematically minded. But first do something simpler to soldify your knowledge from passive knowledge to active one.

Think of it: I learned to speek this language little bit, what should be my next step. Answer is obvious: use it. But at the same time you should learn new algorithm technigues, usefull use patterns etc.

Do you know what is memoized function?
How you do program utilizing dynamic programming?
Why some people like functional programming and others hate recursion?

How much have you learned about graphs? (I have not learned half I should have)

Run through this C++/SFML tutorial, it covers almost every single thing you just mentioned ( memory management, casting, exceptions, inheritence, etc ), some in quite a bit of detail.

Edited 4 Years Ago by Serapth: so!=some

If you have "learned" all those basic stuff that you listed, then it might be a good time to go through the FAQ Lite by Marshall Cline to fill in any holes that might remain (the devil is in the details) and to learn a number of basic coding guidelines.

As for books following that, Scott Meyers is surely a good source, although somewhat outdated. "Accelerated C++" by Barbara Moo and Andrew Koenig (who sporadically shows up on this forum) is also a fan-favorite with its less pedantic but more practical approach. From looking just at the table of contents, the new edition of "Professional C++" by Gregoire, Solter and Kleper, seems very nice, and would probably suite you very well if you are already quite familiar with the more basic syntax elements. Usually you can tell which C++ programming books are good and which are crap just by looking at the table of contents, if it doesn't start to delve into the STL containers and algorithms by the middle of the book at the latest, if it doesn't dedicate a good amount of pages to exceptions, and if it doesn't ever get to at least some basic introduction to templates, then it is crap, not really a book about C++.

Once past one or two of those books, the next set of books to aim for is the "C++ In-depth Series". The "C++ Coding Standards" by Herb Sutter and Andrei Alexandrescu is an absolute must-read for any serious C++ programmer, and is probably the most important of the series. The others are interesting as in-depth looks at various aspects of C++ programming, but not necessary for learning purposes.

This is all dandy so far, but your aim is not to become a book worm or some academian about C++. Am I right?

Do not neglect the importance of practice. From my perspective, by practice alone (no books) you'll become a much better programmer much faster than you ever can be from reading books. Pick some project(s) you find interesting and get busy coding on that project. Look at the things you'd like to do in the future, try to figure out the kinds of challenges you would have to meet to get there, and find incremental tasks and projects that get you there.

The way I see it, code for as long as you can until you start to feel a bit lost in what you are doing (if you feel it gets out-of-hand in size or complexity) or until you start to get the feeling that there must be a better way to do what you are trying to do. Then, pick up a book of a suitable level for where you are at, and keep on reading for as long as you find practical relevance to the things that you read in it (I mean, as long as you read a section and think to yourself "yeah, that seems useful" or "wow, doing it this way is much nicer than what I used to do" or something similar). If at some point you feel less enthusiastic about the techniques or don't really see where you would apply it or benefit from it, then put down the book, and repeat! That's the only infinite loop that no programmer in the world knows how to break!

BTW, if your goal was to do OpenGL stuff, then just do it. Go through NeHe's tutorials as a starter.

EDIT: Also, I forgot to mention, don't limit yourself to C++ programming knowledge. By that, there is a lot of important things to learn from computer science. Things like graph theory and algorithms, dynamic programming, probability theory (not really computer science, but this is to ubiquitous to programming that you can't afford not to know about it), and so on. Also general knowledge about how a computer works is also very useful because it has practical implications when you are coding (both in terms of performance optimization and designing algorithms).

Edited 4 Years Ago by mike_2000_17: last point to make

Comments
Thanks for multiplying my post with real C++ knowledge ;)

thank you all for your responses! I will read at least a few of those books... and now is time for the stupid quetion of the day which is directed towards mike_2000_17 :

"Accelerated C++" by Barbara Moo and Andrew Koenig (who sporadically shows up on this forum) is also a fan-favorite with its less pedantic but more practical approach.

so i took a look at the website where it took me from the blue link and... where can i find the book? sorry for asking stupid questions but i cant find the book...
thats all but thank you for you suggestion!

Well the link is describing the book. You can find it in an online bookstore, in a real-world bookstore, probably in any science library near you (e.g. college), or perhaps in a regular city library. Don't tell me that after knowing the title of the book, the authors' names, and everything else about it (like ISBN), you cannot manage to find a way to get it either on loan or purchase. I don't know where you live or what you're means are, how am I supposed to help you "find" the book?

Well the link is describing the book. You can find it in an online bookstore, in a real-world bookstore, probably in any science library near you (e.g. college), or perhaps in a regular city library. Don't tell me that after knowing the title of the book, the authors' names, and everything else about it (like ISBN), you cannot manage to find a way to get it either on loan or purchase. I don't know where you live or what you're means are, how am I supposed to help you "find" the book?Well the link is describing the book. You can find it in an online bookstore, in a real-world bookstore, probably in any science library near you (e.g. college), or perhaps in a regular city library. Don't tell me that after knowing the title of the book, the authors' names, and everything else about it (like ISBN), you cannot manage to find a way to get it either on loan or purchase. I don't know where you live or what you're means are, how am I supposed to help you "find" the book?

i was just expecting it to be something like the first link(download link),but apparently it was not... and it was really late when i posted that question and after closing the computer i tought about googling it... i told you it was stupid quetion!:D I happen to live in the part of the world where you can't find that kind of books in libarys i probally have to oder them from internet..

Edited 4 Years Ago by mrcerimo: fixed some spelling

This article has been dead for over six months. Start a new discussion instead.