how to replace function-scoped static singleton

B

Bob Doe

Hello,

how to I replace singleton classes using function scope static
variables with one that doesn't use function scope static variables?:

class Foo {
public:
static Foo &instance();
virtual ~Foo();
...
private:
Foo();
Foo(const Foo&);
Foo & operator=(const Foo&);
};

----------------------------------
Foo &Foo::instance()
{
static Foo& theInstance;
...
return theInstance;
}
 
J

James Kanze

Not much point to have public virtual dtor for a singleton object which
is never destroyed ;-) But it does not hurt, of course.


This won't compile.

Function scope static variables are a proven method for creating
singletons. If this does not work for you, you should provide some
explanation about your worries (e.g. multithreading concerns, memory leak
alarms, etc...)

Paavo
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,754
Messages
2,569,521
Members
44,995
Latest member
PinupduzSap

Latest Threads

Top