Learning to program C++ via game development strikes me as remarkably akin to learning to maintain a car by starting on a Ferrari. (Well, aside from the notion that a Ferrari is enjoyable to drive, anyway.)
C++ is tricky enough. Game development introduces additional layers of ugliness and complexity that I think can distract from actually learning to write good, secure, safe C++.