利用auto_ptr统计C++的对象个数,要注意一定要把构造函数声明为私有,代码如下:

 

class A{
private:
    
static int i;
    A(){
    }
    A(
const A&){}
public:
    
static void init(){
        A::i
=0;
    }
    auto_ptr
<A> static makeA(){
        i
++;
        auto_ptr
<A> p(new A);
        
return p;
    }
    
static int getNum(){
        
return A::i;
    }
};
int A::i=0;
int main(){
    
for(int i=0;i<10;i++){
        auto_ptr
<A> p=A::makeA();
    }
    cout
<<A::getNum()<<endl;
}
posted on 2009-01-15 14:52  CUCmehp(likesmiles)  阅读(543)  评论(0编辑  收藏  举报