One of my favorite books is Object-Oriented Programming in C++ by Nicolai M. Josuttis. It is really good at helping you practice efficient coding techniques and goes pretty well in-depth with even the small stuff, but not too much that there isn't any room for the complicated stuff. It teaches everything from the simplest "Hello World" program to the more complicated stuff like using memory efficiently and making programs cross-platform. I bought it at Fry's electronics for literally $9.99