It turns out that in C++, it is a good idea to always initialize objects of built-in type, because C++ only sometimes initializes them itself. Read on to learn more.
Namespaces in C++ offers a mechanism for expressing that some declarations belong together and their names shouldn’t clash with other names. Instead of using the using-directive you should make it a habit of doing the following:
If you have a base class which has methods that will be modified by derived classes, then those methods are normally declared as virtual methods. If that is the case, then make sure that the destructor is declared as a virtual method.
As an indie developer making a 3D game engine I would like to share with you my experiences. Developing a game engine is like dancing tango with the devil, and guess what? he will be the one leading.