Exceptions Understand how throwing an exception differs from passing a parameter or calling a virtual function. Exceptions Catch exceptions by reference. Exceptions Use exception specifications judiciously. Exceptions Understand the costs of exception handling. Efficiency Remember the 80-20 rule.
Efficiency Consider using lazy evaluation.
Efficiency Amortize the cost of expected computations. Efficiency Understand the origin of temporary objects. Efficiency Facilitate the return value optimization. Efficiency Overload to avoid implicit type conversions. Efficiency Consider alternative libraries.