Tutorial :Re-learn modern C++ resources?


I haven't touch C++ in more then 8 years. I recently had to do fix some C++ code, and although I still can code, I feel like I no more belongs to the camp of C++ programmers. I don't know any libraries, didn't pay attention to the new language features / improvements / best practices.

Qt Creator and Qt seems like a nice toolset for what I need now, since I'm interested mostly in cross platform development.

What would be good resources for someone like me to quickly re-learn C++ and best practices in shortest period of time?

I have been doing mostly java and common lisp in the meantime, with a short strides to C, flex, Scala and Haskell.


Get to know the S.tandard T.emplate L.ibrary.

Get to know boost, if you are really on the cutting edge.

Read the books "effective c++", and "effective STL" by scott meyers.

Read the "C++ faq lite".

(not necsissarily in that order)


Read :

Those are references books on C++ that resume all the modern effective pratices, philosophies and knowledge on C++ (without going into Meta-Programmation stuff).

Then if you want to go farther, read :

About libraries: first learn about the STL and learn to use Boost as a "standard" STL extension.


If you're into GUI development, go with Qt. It's the best out there, and the price is right. It deviates somewhat from hard standards; but not without reason, and even so, it makes some efforts to use similar coding styles where appropriate.

If you're more into CLI, or server processes, Qt can still help; but it doesn't have so big an advantage. There it would be more productive to go with STL and (specially) Boost.


Have a look at A.Koenig and B.Moo's Accelerated C++.

The other books cited are good books, but they'll require you a lot of time to read them all. AC++ teaches modern C++ (as in opposition with historic C++ -- it's not about templates wizardry).

The latest book from B.Stroustrup, Programming -- Principles and Practice Using C++, seems (I haven't read it yet) also interesting.


First get familiar again with pointers, references, etc.

Then I'd just stick with Qt. Qt's documentation rules and IIRC, Qt's containers are even more efficient than STL's. The fact that the code for your Qt GUI is then even more elegant also adds to Qt's appeal. Add to the fact that Qt's docs also contain many simple and some relatively advanced code examples which you can play with, and you should be up to speed again in no time.

It wouldn't hurt to know/use STL/Boost though. But stay (far) away from GTK.


Code code and then code more!

Try doing projects where you mix up techniques you acquire from books. As mentioned in other posts there are a loot of good books on C++ programming.Applying design-patterns and techniques from these books into real coding situations will get you back on track quickly.

Also, as long as you're coding for experience, don't be afraid of trying a loot of different libraries. Multitude is good since it helps you get a feeling for how different libraries are built as well as it helps you find the libraries that you want to use for real projects later on.

Note:If u also have question or solution just comment us below or mail us on toontricks1994@gmail.com
Next Post »