3 ms·
It's important to distinguish C++ expertise from that of other languages. C++ is so large (and with C++0x will be larger still) that any expert you do meet wil
by makecheck 16y ago
It's important to distinguish C++ expertise from that of other languages. C++ is so large (and with C++0x will be larger still) that any expert you do meet will know at best a large portion of some subset of the language. And this is fine.
The most important skill is general problem solving, and for this a variety of tools is helpful. So in the C++ world, focus on a few language features that are most different from one another. Make sure you know basically how templates work, but don't fret if you've never seen a specialization or any of the 44 corner cases that are unsupported or undefined. Learn at least common STL containers like vectors, sets and maps, and learn basic_string. Expose yourself to at least one algorithm like fill_n(), and recognize how it is different for vectors versus C arrays. Learn ostringstream. Use namespaces, and learn about the "using" keyword. Learn the basics of classes, constructors and destructors, and the RAII technique. Master all of this before exploring the messes that are inheritance and exception handling.