Should Singleton objects that don\'t use instance/reference counters be considered memory leaks in C++?
Without a counter that calls for explicit deletion of the singlet
Each language and environment will differ, though I agree with @Aaron Fisher that a singleton tends to exist for the duration of the process.
In the example of C++, using a typical singleton idiom:
Singleton &get_singleton()
{
static Singleton singleton;
return singleton;
}
the Singleton instance will be constructed the first time the function is called, and the same instance will have it's destructor called during the global static destructor phase at program shutdown.