it helps some times In C++11 there is a new facility to make once-only initialization reliable - std::call_once. You can find a good reference for it here. If you're working with a compiler that supports C++11, this gives you a nice platform-independent, standard way of accomplishing it. At the platform dependent level, most operating systems provide a means of doing once-only initialization. E.g. in iOS or OS X you can use dispatch_once from Grand Central Dispatch. On Windows, there's a One-Time Initialization API available in Vista and later.
Is class a singleton or not . how to make a class as a singleton or a prototype - in Spring