   Most Important C++ Skills
  Hey everybody been quite a while since I last posted.  I've been spending a lot of time lately working on my C++ skills trying to make myself a better and more solid programmer with C++ before I worry more about the various API and game engines available to use for development.  And I have come up with what I think is a genuine question.  My question is what are the most important areas of C++ programming for game programmers to know.  I know that in general all aspects of the C++ programming language and programming logic are important but like I'm trying to decide what aspects of  the language I should be spending more time studying and what areas that maybe I can read and do a couple exercises but don't need to spend real quality time investigating and pounding into my head.  Oh I should also probably post that I'm building my skill set right now to get a job in the game industry and I'm hoping eventually to work my way to being either a graphics programmer or a game play programmer.  I realize those are 2 completely different aspects of game programming and require different skill sets to be proficient at but regardless those are the 2 aspects that interest me the most.  So lets hear opinions on this aspect.   
  Well as you mentioned yourself, you have a big distinction between learning multiple API libraries, learning design patterns and how to create a good object-oriented architecture (whatever the language), and learning the language itself. C++ in itself isn't much complex, memory allocation, pointers, templates, binary operation. If you want to expand after the basic language, the std library is pretty much tied to the C++ language, and learning to use it properly is probably the answer you seek. Quite complex though, and much less user-friendly than the C#/.Net one. Or you could learn some parts of the boost library, which is an attempt to make a better std library, but I wouldn't start with it. Still, learning a language without any methodology on how to write code is quite useless   ;  The specialisation in graphics or gamplay is mostly about learning lots of theory/patterns/ideas that transcend a particular language or API.When it comes to being a good C++ programmer though, I'd say the most important thing is being able to write bug free code. C++ is a very dangerous language, which makes it extremely easy to write lines of code that cause crashes (or worse - I'd argue a subtle memory corruption bug is harder to diagnose/fix than a hard crash).I'd recommend reading (and re-reading) Effective C++, The C++ FAQ and Guru of the Week until you grok it.   