Basic:
- The Design and Evolution of C++ by Bjarne Stroustrup: It's like a story book to know about the history of C++ evolution. Bjarne Stroustrup is the father of C++, although he is not really a good book writer.
- The C++ Programming Language by Bjarne Stroustrup
- Thinking in C++ by Bruce Eckel Volumn I&II
- C++ Primer by Stanley B. Lippman
- Inside The C++ Object Model by Stanley B. Lippman
Advanced:
- Effective C++ by Scott Meyers: If you would like, you can also get the his next book "More Effective C++"
- Modern C++ Design by Andrei Alexandrescu
Higher level design:
- Design Patterns (Elements of Reusable Object-Oriented Software) by Erich Gamma, Richard Helm, Ralph Johnson, andJohn Vlissides (GOF, Gang of Four)
- Programming Pearls by Jon Bentley
It's better to read them again and again from time to time while you are applying the knowledge from these books to your works.