C++ is a Huuuuuge Language.
The Path towards Expertise would be:- Understanding C++ - Step 0
You have got to read The C++ Programming Language by Stroustrup, no way you can escape this.
- Understanding Histrory of C++ and Why come they designed the C++ Features - Step 1
The Design and Evolution of C++ Book from Stroustrup would help you.
- Understanding Internals whats happening when you declare classes. -Step 2
Inside C++ Object Model by Stanley Lippman would help you.
- How to write Efficient Programs in C++ - Step 3
Agner Fog Optimization Manuals would give you Start.
- How to write Correct C++ Programs - Step 4
Effective and More Effective C++ book would help, you cannot clear any C++ technical Interview without reading this. Better search for Scott Meyers in Google and Read Everything. He has huge insights for writing correct way of C++
- Understanding Design Patterns - Step 5
It would give basics to understand Huge C++ framework libraries such as Qt , Boost etc., The Gang of 4 Book would help you.
- Understanding How to Create Efficient Frameworks - Step 6
API Design by Martin Reddy would give you a start.
Phew .... We came so far without even touching Meta Programming and Templates.- Meta Programming and Templates - Step 7
- Understanding C++ Templates would help.
- Modern C++ Techniques from Andrei Alexandrescu would give you a start.
- Another good stuff from Andrei Alexandrescu
- Knowing how to use STL also helps, The C++ Standard Library.
- Understanding How to become proficient in MetaProgramming - Step 8
For this you need to take different path instead of learning C++ , you would learn Haskell or CommonLisp. Haskell would be perfect.
But i took the other one (Common Lisp).- Now its time to lose focus on C++ and Learn Compilers, Functional programming, meta programming etc..
- Implement C++ Compiler. (no mere souls done that if you can pull off you got big future in Google,Facebook etc..)
You may notice from Step 8, it become vague path. So I would say after Step 8 you need to invent your own Path.
Did I mention to read C++ 0x11 oh god So much to read but life is too short .So my opinion would be C++ language is gonna stay for foreseeable future unless we work on computer which is not based on Von neumann architecture.So better invest your 10 years to expertise C++ and Computer programming.It does pay off, you can demand Good Salary, no matter what hype is (VB, Java, C# and now Go). Its tested against Time .