c++智能指针学习

来源:互联网 发布:大魔王女神淘宝 编辑:程序博客网 时间:2024/06/05 07:00

Demo1:

#include <iostream>#include <string>#include <memory>using std::cout;using std::string;class A{    public:    int number;    string info;        A(int param=0)        {            number=param;            cout<<"A() :"<<number<<"\n";        }        ~A()        {           cout<<"~A() :"<<number<<"\n";        }        void print() const        {            cout<<"print() "<<info.c_str()<<std::endl;        }};void test();int main(){    test();    A(1);    return 0;}void test(){    std::auto_ptr<A> _ptr(new A(1));    if(_ptr.get())    {        _ptr->print();        _ptr.get()->info="Addition";        _ptr->print();        (*_ptr).info+="other";        _ptr->print();    }}
测试结果

0 0