<a href="http://cplusplus.com/doc/tutorial/" rel="nofollow">http://cplusplus.com/doc/tutorial/</a>
<a href="http://www.horstmann.com/ccj2/ccjapp3.html" rel="nofollow">http://www.horstmann.com/ccj2/ccjapp3.html</a>
<a href="http://www.4p8.com/eric.brasseur/cppcen.html" rel="nofollow">http://www.4p8.com/eric.brasseur/cppcen.html</a><p>I was in a similar situation just lately. The above are some very good introductory stuff I found very useful.
Here are the key things you need to learn:<p>1. Memory Management - Java takes care of it all for you, whereas in C++ you have to manually allocate and de-allocate memory, otherwise you will have memory leaks.<p>2. Learn the Standard Template Library (STL). C++ has a much smaller library of pre-built code that Java. The STL is very good for some basic data structures like map, set, etc.<p>3. Pointers - Java has references, C++ has pointers. You need to learn how to use them safely.<p>4. Polymorphism - Similar to Java but syntax is a bit different<p>5. Operator Overloading - You can redefine operators such as "+" or "-" to make your code look cleaner. This can be dangerous, but very useful if done correctly.<p>I think that is a good start. Overall the transition to C++ should be relatively easy once you master memory management and pointers.
I agree that learning the Standard Template Library (STL) would give you a solid basis. Also, read up on how Facebook has made C++ a significant part of their process. This could spark some ideas in terms of applying the technical skills to a very relevant (and current) challenge. Maybe you'll be inspired to begin a project on Github?