智能指针原理代码
1 template<class T> 2 class pmy 3 { 4 public: 5 pmy() 6 { 7 8 } 9 pmy(T *t) 10 { 11 p = t; 12 } 13 ~pmy() 14 { 15 if (p != nullptr) 16 { 17 delete p; 18 } 19 } 20 //T operator *() 21 //{ 22 // return *p; 23 //} 24 25 private: 26 T *p = nullptr; 27 }; 28 29 class Test 30 { 31 public: 32 Test() 33 { 34 cout << "Test create" << endl; 35 } 36 ~Test() 37 { 38 cout << "Test delete" << endl; 39 } 40 }; 41 42 void run() 43 { 44 pmy<Test> p =new Test; //p是Test的一个指针.因为把Test替换成T. 45 } 46 47 void main() 48 { 49 run(); 50 cin.get(); 51 52 }
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步