I think a good start, is a good beginner book out of the following:
- Sams Teach Yourself C++ in 24 Hours: Complete Starter Kit (Sams Teach Yourself) http://www.amazon.co.uk/Sams-Teach-Yourself-C++-Hours/dp/0672326817/
- C++ Primer (Paperback) http://www.amazon.co.uk/Sams-Teach-Yourself-C++-Hours/dp/0672326817/
- Accelerated C++: Practical Programming by Example (C++ in Depth) (Paperback) http://www.amazon.co.uk/Accelerated-C++-Practical-Programming-Example/dp/020170353X
- The C++ Programming Language, Special Edition (Hardcover)
http://www.amazon.co.uk/C++-Programming-Language-Special/dp/0201700735/
Standard Library
- The C++ Standard Library: A Tutorial and Reference (Hardcover) http://www.amazon.co.uk/C++-Standard-Library-Tutorial-Reference/dp/0201379260/
- The STL Tutorial and Reference Guide: C++ Programming with the Standard Template Library (Professional Computing) (Hardcover) http://www.amazon.co.uk/STL-Tutorial-Reference-Guide-Professional/dp/0201379236
Design patterns
- Design patterns : elements of reusable object-oriented software (Hardcover) http://www.amazon.co.uk/Design-patterns-elements-reusable-object-oriented/dp/0201633612/
However apparently this one gives a simpler and quicker overview of all of the classic design patterns: -
Head First Design Patterns (Head First) (Paperback)http://www.amazon.co.uk/Head-First-Design-Patterns/dp/0596007124/
Advanced knowledge of C++ and STL
Exceptional C++, More Exceptional C++, Effective C++, More Effective C++, Effective STL, C++ Coding Standards