By your own admission, after three years your code still was pretty bad. That is the reason I said what I said, not because it can't be done--the results are entirely too often marginal. C++ is not pedagogically sound, and building something somebody actually wants to use with it is a nontrivial task.
I find it a little self-defeating to try to tackle two of the more complex tasks in software development at once. Learn to program (obligatory Learn Python The Hard Way reference), learn to write games, learn C++. Or learn to program, learn C++, learn to write games. It separates the hard bits in such a way that you can approach them, understand them, master them, and then move on.
(It's important for your comment to be worded like that, and not just "you shouldn't learn C++ and game programming at the same time". Otherwise a lot of the context is lost.)
That said, if I had to do it over, I wouldn't change a thing. I know myself, and therefore I know I'd be too timid to try to ever do more than move Python code into C via writing my own extensions. That would have significantly crippled my career, and denied me the opportunity to work on game engines written entirely in C++ (which almost all triple-A game engines are, for better or for worse).
That's a personal failing, I admit. I'm just spewing thoughts that were important relative to my career, because it's the only actual example I know enough to talk about.
I find it a little self-defeating to try to tackle two of the more complex tasks in software development at once. Learn to program (obligatory Learn Python The Hard Way reference), learn to write games, learn C++. Or learn to program, learn C++, learn to write games. It separates the hard bits in such a way that you can approach them, understand them, master them, and then move on.