Здравствуйте, MrVoid, Вы писали:
MV>Кстати, такую же функциональность, как в вашем примере, можно получить таким элементарным кодом (только он гораздо эффективнее):
MV>MV>template <class Type>
MV>inline Type& GetInstance()
MV>{
MV> static Type instance;
MV> return instance;
MV>}
MV>
MV>(Если нужна многопоточность, тело функции соответствующим образом изменить).
ваш пример не компилируем, поскольку перегрузка по типу возвращаемого значения в С++ не предусмотренна.
по крайней мере вот так:
template<class T>
inline T& GetInstance(const T* = 0)
{
static T instance;
return instance;
}
и безопасность при многопоточности в данном примере тоже не совсем понятно как реализовывать?