Need help grouping these ideas.

So, I'm writing a little document for my workmates on some useful features/concepts of C++, but I'm having some difficulty in trying to group them.

I currently have:

C++ Features
  Namespaces
  Templates
C++ Idioms
  TMP - Template Metaprogramming
  SFINAE - Substitution Failure Is Not An Error
  Parameter Packs
  Type Erasure
  Concepts
  CRTP - Curiously Recurring Template Pattern
  RAII - Resource Acquisition Is Initialization
  Iteration over Contained Objects and Algorithms
  Perfect Forwarding
  Many Smaller Rather Than Less Larger

But I'm thinking that not all of the things under C++ Idioms are in fact idioms and am struggling to try and come up with other headings.

The last heading is in reference to having many smaller functions rather than fewer larger functions.

Does anyone have any suggestions?
Last edited on
Who is your audience? The things you've listed are good for experienced OO programmers looking at the advantages of C++, but fairly esoteric if you're just looking at day-to-day programming and why one might choose C++ over other languages.
This document is to give our programmers awareness of more advanced C++ constructs and methods. This is not to say that they will use all of these in their day to day programming, but that they will have them if the need should ever arise.
Topic archived. No new replies allowed.