views:

184

answers:

4

Note: marked as community wiki.

In recent days, I've realized how little I know about C++.

Besides:

  • using the STL
  • implementing RAII
  • implementing ref-counted smart pointers
  • writing my own policy-based template classes
  • overloading operators << for fun

What other techniques are must-know for a good C++ programmer?

Thanks!

+5  A: 
  • OO Design
  • Types of exception safety guarantees (which is what most design patterns/idioms are based on).
  • When to use which standard containers
  • Boost
dirkgently
A: 

(hardly a must-know, but still useful) Writing domain-specific languages with operator overloading and template metaprogramming (see Boost.Spirit for a nice example) - but this is the kind of thing that makes shooting yourself in the foot easy, too.

Tronic
A: 

The first two are 'must know' for a good C++ programmer. 'Good C++ programmers' do not overload operators for fun.

florin
+1  A: 

I think this should cover it:

More C++ Idioms - Wikibooks

Peter Alexander