Design Patterns by Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, Grady Booch (Designer) Generic Programming and the Stl : Using and Extending the C++ Standard Template Library (Addison-Wesley Professional Computing Series) by Matthew H. Austern Advanced C++ Programming Styles and Idioms by James O. Coplien