http://www.learncpp.com/
and constantly looking up documentation. My favorite learning technique is kind of... brute force, I set out to do something I don't know and then consult the documentation for how to do it. Even my very first "programming" language, TI-84 BASIC, I learned from the calculator documentation and some practice. Of course you also need a certain degree of patience to do this.
I had a partner last year, both of us knew no LabVIEW and had no one to teach us, and we had to set out to program a bot using it. The other guy decided that since we didn't know anything, we couldn't hope to do anything. What did I do? Go straight into the VI and try to figure out what everything does, referring to documentation along the way. I learned a lot this way and we had a robot working by ship date (nothing fancy, just basic teleop and straight line autonomous - but better than nothing). The other guy gave up, mostly sat there and watched, and quit the team afterward.
(Despiteless I was still much more confortable with C++ so I had us switch this year.)