My experience:
Just get on with it.
Start with a OpenGL sprite demo, and plug away at it. The language itself is just syntax, syntax and obfuscation. See you don't necesserily have to know very much about C++ to use it. Once you know the syntax, you can apply game logic, you can learn GL stuff as you go. But the important thing is to actually be doing something that you WANT to see happen. Really do you need to see ''Hello World'' in yet another language?
I know a lot of people use pre-built game engines and libraries, but I'd say learning some OpenGL is more important.
You would be surprised just how quickly you can get into using C++ based just on knowledge of game logic with DB, and a clear example. Don't procrastinate, don't think for a second that you have to understand something in order to use it. Your into making games right, so concentrate on the game making aspects. Game logic is a layer above everything else, in my project the logic in the DBPro version and the iOS version is pretty much identical, bar syntax.
In DBPro, to wrap a >1.0 float:
While v#>1.0 : dec v#,1.0 : Endwhile
In C++
while ( v > 1.0f ) v-=1.0f;
It's really not rocket surgery - I assumed it was for a number of years, but just getting stuck in changed that perception on day 1.
Now I'm not saying my opinion here is very wise, but it's effective, that's all I can say. If you start by learning the language, you might just give up - I started by reading some tutorials, console stuff, and it might just be my brain, but I found it as dull as hell. Necessity fuels learning, and with a language like C++, you need fuel - that's all, just an ambition to get whatever is in your head, onto the screen. If you have that perspective, then you will learn the things you need. Necessity see - if you need to do something that you've never done in C++, just look it up, look for peoples code. Once you look at the code, you'll see that it's quite straightforward. For example, something you might dread, say working out an angle from 2D vectors, you might rely on the DBPro Atanfull command - major difference in C++ is that it's Atan2f. So long as you know how to work with radians (or at least be able to convert to angles) it's all there, sometimes it's only syntax.
I see too many C++ projects that are stuck in procrastination hell, people start by making their engine... big mistake - C++ is not interesting enough for that to be plausible, you need to have something you want to see happen, you should need a feature before you add it - engine and game logic go hand in hand when your learning. Get this - people who write game engines tend to have a CS degree, they get taught completely differently than someone teaching themselves. C++ books are written by people with CS degrees, they spent 4 years learning C++ in a classroom with other people learning C++, and tutors and all that. Your self teaching, self taught people tend to absorb information in small chunks depending on necessity.
Zen might think this post is somewhat dismissive of his, but it's just my point of view, the minute I stopped trying to learn the language and started using the language, well I started learning the language - Necessity fuels learning. Things you need to know, you'll need to know, and when you need to know you'll learn them. If you don't necesserily need to know, then why bother learning

. My experience dictates that I just don't learn how Zen suggests, I'm filling in the blanks and assuming that the primary focus of learning C++ is for game development, in which case he should take advantage of the shortcuts and try to keep it interesting, mainly don't get bogged down, don't pay too much attention to programming book authors.... coders can be quite arrogant, some C++ books are more like a list of demands and entry requirements. That's what I mean by obfuscation - don't become a C++ sheep, do things your own way.
I think the important thing is to do whatever is most effective for you. Code your own way, and learn-to-code your own way. You might not end up as a proficient C++ coder, but ending up with a completed project is far more important, I know a few proficient C++ coders who have never finished a single project - What's the point in that!
The programming world is changing, C++ is not going to be top dog forever, languages are evolving into more visual, and logical systems. 20 years ago we only really had Assembly, and development in that was cumbersome, took a lot of planning, but was necessary to get the required frame rates. Now C then C++ took over - not because they are faster, but because they are easier and faster to develop, and they can be ported to different platforms. We already see scripting taking over in the major engines already, god only knows what the next generation of engines will bring.

Health, Ammo, and bacon and eggs!
