c++ - Is there a way to assign a name to a singleton in the local scope? -
i have method returns singleton.
// window.h static window &getsingleton(); // window.cpp window &window::getsingleton() { static window singleton; homecoming singleton; }
coming objective-c
i'm used assigning singletons local scope variable names, example.
uiapplication *application = [uiapplication sharedapplication];
but doing similar thing in c++
causes new object created.
window window = window::getsingleton();
this happens because re-create constructor called, in case window(window const &windowcopy)
.
is there way around this, or have phone call singleton method when need interact it?
in c++,
window window = <some expression>
means along lines of "construct object of type window
value of <some expression>
. window::getsingleton()
evaluates lvalue reference window
, , used initialize new window
object (except fact window
not re-create constructable.)
what need refer static object created in window::getsingleton()
function. function returns reference. need utilize reference window
on lhs:
window& window = window::getsingleton(); ^
c++ singleton
No comments:
Post a Comment