Take the tour ×  I am creating a 2d platformer using SDL and I
was thinking that my game object could be static, but I wasn't
sure if this was a good idea.  The pros (that I can see):    •
Accessing settings options (such as screen size and keyboard
bindings) would be easier accessed   • There should only ever be
one main game loop, so this makes sure for me.  The cons:    •
From what I've heard, static classes in C++ are a bear to work
with   • I've read that this may cause problems later in
development (things don't work right or can't be used properly
share|improve this question If you absolutely must have a one-
shot object make it a singleton instantiated by main(). Static
objects have weird initialization rules, exist before main() and
generally make debugging more complex. There are a ton of other
good reasons dealing with architecture and design practices that
other people will fill you in on, the first you can count on
being debated is whether singletons are evil =) –  Patrick
Hughes Jul 7 '12 at 5:08