Singletonパターンのためにこんなtemplate書いてみたんだが添削キボンヌ

// Singletonパターン[GoF]を使用するためのテンプレート
// これを使うときは普通にインスタンスを宣言しないで、
// グローバルでtemplate T Singleton<T>::instance = 0;を宣言した上で
// (VC++6の場合はtemplateつけちゃ駄目)
// T* t = Singleton<T>::Instance();で取得すること。

template <class T> class Singleton
{
public:
static T*Instance(void) {
if (instance_ == 0) {
instance_ = new T;
}
return instance_;
};
static voidDeleteInstance(void) {
if (instance_ != 0) {
delete instance_;
instance_ = 0;
}
};
protected:
private:
Singleton() {
};
~Singleton() {
};
static T*instance_;
};