From: Martin Bonner (Martin.Bonner_at_[hidden])
Date: 2007-04-05 10:00:29
[mailto:boost-bounces_at_[hidden]] On Behalf Of Jeff Garland Sent:
05 April 2007 14:55 To: boost_at_[hidden]
Subject: Re: [boost] [system] Why is this not header-only?
> Kevin Yuan wrote:
>>> 2007/4/4, Martin Bonner <Martin.Bonner_at_[hidden]>:
>>> Static variable in an inline function.
>> Yes, I agree. Something like:
>> // st.h
>> class st
>> static st* get_instance()
>> static st* inst = new st;
>> return inst;
> Yeah sure, classic Meyer's singleton. Couple problems.
> It's not thread safe
Granted. (And this could be a major issue).
> and you could easily inline this code into multiple translation
That's harmless. The compiler is supposed to make sure there is only
one copy of the singleton variable.
BUT The standard doesnt recognize the existance of DLLs/SOs - and you
WILL get multiple copies of the singleton variable in different DLLs.
> It's this sort of thing that makes true singletons
> devilishly hard to do...
No argument there!
-- Martin Bonner Project Leader PI SHURLOK LTD Telephone: +44 1223 441434 / 203894 (direct) Fax: +44 1223 203999 Email: martin.bonner_at_[hidden] www.pi-shurlok.com
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk