これは解決されたと確信していますが、実際には統合された回答は見つかりませんでした。このシングルトンの問題(クラスではない)
単なる関数であり、初期化を保証し、Tが演算子、必要なコンストラクタ、関数などをサポートすると仮定した次のシングルトンの問題は何ですか? (私はスレッドの安全性を探していません)。私の場合、他の人がTのオブジェクトをTに作成することは、自分のプログラムの生活のために使いたいデータベースハンドルです。
template<typename T>
T* getInstance(){
static T instance;
if (!instance && !instance.initialize()){
return NULL;
}
else {
return &instance;
}
}
これはスレッドセーフではありません...それは間違っています。 –
これの主な問題は、シングルトンを使用しようとすることです。シングルトンは反パターンです。 [使用しないでください](http://jalf.dk/blog/2010/03/singletons-solving-problems-you-didnt-know-you-never-had-since-1995/) – sbi