xiaoguozi's Blog
Pay it forword - 我并不觉的自豪,我所尝试的事情都失败了······习惯原本生活的人不容易改变,就算现状很糟,他们也很难改变,在过程中,他们还是放弃了······他们一放弃,大家就都是输家······让爱传出去,很困难,也无法预料,人们需要更细心的观察别人,要随时注意才能保护别人,因为他们未必知道自己要什么·····
template<class T>
class Singleton{
public:
    
static T* getInstance(){
        
if(ptr==NULL){
            ptr
=new T();//(T*)(::operator new(sizeof(T)));
        }
        
return ptr;
    }
private:
    Singleton(){};
    
static T* ptr;
};
template
<typename T>
T
* Singleton<T>::ptr=0;

class C{
public:
    int x;
    C(){
        x=0;
    }
    ~C(){
        cout<<"C delete"<<endl;
    }
};

int main(){
    C
* c=Singleton<C>::getInstance();
    C
* d=Singleton<C>::getInstance();

    cout
<<c<<" "<<d<<endl;
}

当时一时没反应过来,用的较多的还是实例化的单体类.这里笔记一下。不过模板类有其自己方便的地方。所以还是有必要的.
posted on 2010-09-10 10:30 小果子 阅读(1000) 评论(0)  编辑 收藏 引用 所属分类: 编程语言

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理