Der Quellcode des Singletons von boost lautet dort Ich verstehe zwei Bezeichnungen in der folgenden Quelldatei nicht:
// ***include this to provoke instantiation at pre-execution time***
static void use(T const &) {};
BOOST_DLLEXPORT static T & get_instance() {
static detail::singleton_wrapper< T > t;
***// refer to instance, causing it to be instantiated (and
// initialized at startup on working compilers)***
BOOST_ASSERT(! detail::singleton_wrapper< T >::m_is_destroyed);
use(instance);
return static_cast<T &>(t);
}
Frage ist: Wie könnte dieser Code die Initialisierung von Singleton in C++ vor main() erzwingen?Was bedeuten diese beiden Notationen?