• Advertisement
Sign in to follow this  

C++ question?

This topic is 3965 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

Advertisement
Impossible to say. It doesn't take long to learn the syntax of the language, however there is far more too it than that. You won't stop learning and can never expect to fully know the language.

Share this post


Link to post
Share on other sites
Quote:
Original post by Dave
Impossible to say. It doesn't take long to learn the syntax of the language, however there is far more too it than that. You won't stop learning and can never expect to fully know the language.


Thats true. A few months ago I thought I was almost done with C++ but it looks like am not. There is so much stuff to know and memorize like the libary functions. And new things keep popping up.

It makes programming fun and exciting.

Share this post


Link to post
Share on other sites
Long enough for next version to be standardized, at which point it's back to learning.

C++ syntax, the object model and various language quirks are the basics.

Next is the STL. Effectively using it isn't that hard, but going into various details makes for quite an ammount of ground to cover. Knowledge and understanding of data structures and algorithms is highly beneficial.

Last would be templates. If you really go into template meta-programming it's a huge topic, with even more pitfals, problems, incompatibilities.

Then there's practical applications and almost mandatory strategies. Memory management, life-cycle management and other useful topics, here's where boost is generally advised.

For production you'll also need experience with profiling, compilers (settings, optimization levels, compatibility, feature support, libary support, standard compliance), memory checkers, static syntax checkers.

And last are the general development practices as they apply to C++. Unit testing, project management, makefiles, project organization, various idioms (PImpl, header inclusion strategies, ...)

For someone who's well versed in software development, some 6-12 months (with only sub-topics in boost), for someone learning with no previous experience - arbitrary.

This implies learning alongside production work with only introductory preparation, so it includes plenty of practical experience.

Keep in mind, C++ is just a small language, if you want to use it seriously, then learning all of it requires everything else for productivity reasons.

Also, none of this covers anything platform-specific. That's a complex topic on its own.

Share this post


Link to post
Share on other sites
Quote:
Original post by Antheus
Last would be templates.

No. Last would be "what constitutes undefined behavior in C++?"

There is little value in learning C++ "completely." There is much value in learning C++ "adequately."

Share this post


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

  • Advertisement