on the other side of the note, maybe you should make the instance pointer a static member of the get function, not a class, this is not too different when using the new / pointer method. but if you just create a static instance (i.e. do not use a pointer and return a link to it from the get get function), this is of great importance because:
if it is a static member of a class, its constructor is called every time (since it is global), if it is a static member of the get function, it is not built before its first call, this eases some of the problems that people face with single games, as well as the glorified global global variables, but most importantly, most linkers will omit the get function and, therefore, the entire static instance if it is never called, so you do not need to worry about calling a new one, it only uses memory, if and it is used.
matt
source share