Jump to content
  • Advertisement
Sign in to follow this  
Clintos

How Does One Learn C++ ?

This topic is 575 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Oh, C++, Oh C++... I try to find your ways but you swiftly slap me across the face every time I look at your complicated syntax. I look at you C++, and you give me headaches of your overwhelming complexity. I want to get to know you but my heart tells me to concentrate on the other beauties out there that were inspired by your originality such as Java. However, you are the one I want to know. Something with you, is different... Oh, C++, oh C++, how does one learn, C++?

 

 

I know it is a topic that has been done an infinite number of times, but... I would thoroughly appreciate it if anyone could give me any sources that can teach me C++ easily? I will be glad for anyone's replies to this infamous question :)

Share this post


Link to post
Share on other sites
Advertisement

There is no one source that will teach you C++ easily. It is not an easy language. There are tutorials and books and references that can make subsets of the language look easy, and help you pick those up, but no one thing will teach you "all" of it (where "all" is defined as "a significant enough portion to write non-trivial software on your own at specific level of mastery and understanding") without effort.

 

The best course of action is to make sure you are constantly practicing and constantly seeking improvement. Write programs, post them online (such as here) for critique and guidance. When you read new material, come up with things you can build to implement that material and help cement your knowledge; otherwise you will find it easily slip away from you.

 

What is, as of today, the most complicated program you have written in C++?

Edited by Josh Petrie

Share this post


Link to post
Share on other sites

There is no one source that will teach you C++ easily. It is not an easy language. There are tutorials and books and references that can make subsets of the language look easy, and help you pick those up, but no one thing will teach you "all" of it (where "all" is defined as "a significant enough portion to write non-trivial software on your own at specific level of mastery and understanding") without effort.

 

The best course of action is to make sure you are constantly practicing and constantly seeking improvement. Write programs, post them online (such as here) for critique and guidance. When you read new material, come up with things you can build to implement that material and help cement your knowledge; otherwise you will find it easily slip away from you.

 

What is, as of today, the most complicated program you have written in C++?

 

"Hello World!" 

Share this post


Link to post
Share on other sites
Understanding datatypes, memory and pointers are the first step to learn C or C++.

So i would recommend a low level introduction, not a high level one!
Like this one


The C++ parts are addons which are built on top of C like for example: namespaces, classes, templates, std library, etc.

Share this post


Link to post
Share on other sites

People have been asking the question for nigh-on 30 years. It's almost like people should write a FAQ or build some links to this question.  ;-)

 

Here's my list, which I've changed a few times since I first put one together in the late 1990's.  You can find more book lists at sites like StackOverflow, which has considerable overlap to my list.

Share this post


Link to post
Share on other sites

 

There is no one source that will teach you C++ easily. It is not an easy language. There are tutorials and books and references that can make subsets of the language look easy, and help you pick those up, but no one thing will teach you "all" of it (where "all" is defined as "a significant enough portion to write non-trivial software on your own at specific level of mastery and understanding") without effort.

 

The best course of action is to make sure you are constantly practicing and constantly seeking improvement. Write programs, post them online (such as here) for critique and guidance. When you read new material, come up with things you can build to implement that material and help cement your knowledge; otherwise you will find it easily slip away from you.

 

What is, as of today, the most complicated program you have written in C++?

 

"Hello World!" 

 

 

Okay, so I challenge you to next write a program that is a simple "guess the number" game. Have the program pick a random number, and then repeatedly ask the user to enter a guess until they enter the correct guess. This will start providing you a nice platform for a concrete program you can use to direct your further education on the subject of C++ in a surprisingly wide variety of directions, depending on what you choose to focus on next.

Share this post


Link to post
Share on other sites

Understanding datatypes, memory and pointers are the first step to learn C or C++.

So i would recommend a low level introduction, not a high level one!
Like this one



The C++ parts are addons which are built on top of C like for example: namespaces, classes, templates, std library, etc.


Some would argue that this is exactly the wrong way to introduce C++:


The way my mind works, the best path to learn programming is assembly first (it doesn't much matter which one; basic x86 would do), then C (a language that can easily be compiled into assembly language, but is much more human friendly and gives you platform independence), then C++. That last step is possibly the hardest, because C++ is such a huge language.

I really don't know if there is one true answer. One thing that's always very helpful is access to someone who knows C++ really well and who is happy to answer tricky questions. I had a coworker in that roll, but if you aren't that lucky you can probably use forums as a substitute. Edited by Álvaro

Share this post


Link to post
Share on other sites

I find a lot of the confusion people have (based on seeing the C++ questions in this and other forums - such as a recent one about returning references to parameters from a function) comes from not understanding what's going on under the covers. For this, some low-level knowledge is definitely useful. I dunno if learning C first makes sense - but at least when learning c++, it seems it would be useful to make sure you understand exactly how memory is being copied or manipulated when learning about a specific feature. 

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!