Exceptions Prevent resource leaks in constructors. Exceptions Prevent exceptions from leaving destructors. 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.