本文共 554 字,大约阅读时间需要 1 分钟。
#include#include using namespace std;class A{public: A() { cout<<"构造"< () //重载-> { return m_pa; } A& operator*() //重载* { return *m_pa; }private: A* release() { A* pa = m_pa; delete m_pa; return pa; } void reset(A* pa) { if(pa != m_pa) delete m_pa; //释放掉原来的资源 再接收新的资源 m_pa = pa; } A * m_pa;};void bar(auto_ptr ap){}int main(){ PA pa(new A); pa->fun();//pa->operator->()->fun() (*pa).fun();//pa.operator*().fun() auto_ptr pb; pb->fun(); (*pb).fun(); bar(pb); //pb->fun(); 智能指针不能跨函数使用 不能用于数组 return 0;}
转载地址:http://xqoii.baihongyu.com/