标签:
1 auto_ptr
2 unique_ptr
1 auto_ptr
C++的auto_ptr所做的事情,就是动态分配对象以及当对象不再需要时自动执行清理。
使用std::auto_ptr,要#include <memory>。
auto_ptr依赖于原生指针p
1 #include <iostream> 2 #include <memory> 3 using namespace std; 4 5 void main1() 6 { 7 for (int i = 0; i < 10000000; i++) 8 { 9 double *p = new double;//为指针分配内存 10 11 std::auto_ptr<double> autop(p);//创建智能指针管理指针p指向的内存 12 //依赖于原生指针p 13 } 14 15 system("pause"); 16 }
2 unique_ptr
写C++要用新指针
std::unique_ptr<指针指向类型>变量名(new double);
1 #include <iostream> 2 #include <memory> 3 using namespace std; 4 5 void main() 6 { 7 for (int i = 0; i < 10000000; i++) 8 { 9 //写C++要用新指针 10 //std::unique_ptr<指针指向类型>变量名(new double); 11 std::unique_ptr<double>pdb(new double); 12 } 13 14 system("pause"); 15 }
标签:
原文地址:http://www.cnblogs.com/denggelin/p/5616108.html