C++ is without a doubt one of the worst languages ever created.
Duplicate functionality: Should I use puts or std::cout, printf or std::putf? FILE or fstreams? 0, NULL, nullptr, or std::nullptr_t? C-style cast, dynamic_cast, static_cast, reinterpret_cast, or const_cast? If a language has duplicate standard library features, 4 different ways to express null, and 5 different ways of casting, then it was poorly designed.
Pitiful OOP: No base Object, multiple inheritance, getters/setters are not automatically generated, class declarations force developers (unless PIMPL is used) to expose private methods and variables in the public header, no way of "opening" or extending an existing class (except via inheritance). Its minor, but having to prefix every member function implementation with ClassName:: is lame - instead one should be able to wrap all the member functions with a ClassName { } block like with a namespace.
Over-complex Grammar: It is fact that the language grammar is not context free - it requires arbitrary lookahead. If you, as a language designer, have designed a grammar so complicated that it can't be parsed using standard parsers, your have failed.
Community: C++ means different things to different people: Is it procedural, OO, functional, or something else? Low level or high level? Is the code still C++ if you use malloc instead of new? The answer to all those questions is Yes. I can't tell you how often I've seen, "That's not C++ that's C with Class". C++ means too many things to too many developers. If you, as a language designer, have designed a language so complex that it causes as much community division as C++ has, then you have failed.
In addition, the C++ community seems to have a bad case of Not Invented Here syndrome. I've seen more reinventing within the C++ community than I have any other. If you, as a language designer, have designed a language were many developers choose to reinvent their own (for example) string class (whether it be QString, Ogre::String, irr::core::string, etc...) rather than using the standard string, you have failed at some level.
Many problems with C++ are simply a result of features not being well thought-out the first time. For example, nullptr (a new feature in C++11), was added to fix an edge case with function overloading. If said feature had been well thought-out the first time, it wouldn't need a work-around later. There is no question that C++11 will introduce problems yet to be realized but will be undoubtedly "fixed" in the next C++ revision.
The C++ community isn't critical enough of the language. For example, one of the biggest complaints about D1 was how it had 2 standard libraries, Tango and Phobos. But, by contrast, how often do you hear devs complain about all the duplicate functionality C++ has? How often do you hear them say how lacking the OO features are? Instead, C++ purists grumble to themselves and develop idioms and "design patterns" to work around said deficiency - hence you get things like PIMPL. A language can't get better unless the community is willing to be critical of it.
If you want an object oriented C done right, learn Objective-C.
To the OP: Use the language you feel comfortable with. Any touring complete language can be used for game development. If you want to get into the nitty gritty, I'd recommend C with SDL. If you want something higher level, I'd recommend Lua with Love2d.
I know some people are suggesting C++, but I'd shy away from it unless your really dying to work in the game industry. Also, don't confuse C for C++, people often lump them together (even writing them as C/C++ in various message boards), but they are very different languages. Unlike C++, C is small, simple, and focused. In terms of community, it doesn't suffer anywhere near the level C++ does, e.g. NIH syndrome, bickering over proper language subset, and over-designed solutions are not a problem with the C community in my experience.