C++11 智能指针
2021-02-02 10:13
标签:错误 ptr 计数 赋值运算符 ted 出错 detail 独立 运算符 https://blog.csdn.net/flowing_wind/article/details/81301001 https://www.cnblogs.com/wuyepeng/p/9741241.html shared_ptr: 不能用对象指针独立的初始化两个智能指针 例子: 使用: 这样做,每个智能指针内部计数其实都是1,在p3结束或手动reset后,该对象内存回收了,p4和p5里面的普通指针都变成了悬空指针,然后p4和p5结束时,还是回去对已经回收了的内存调用delete,造成错误(编译不出错,运行会出错) 要用多个指针指向同一块内存,后面的智能指针要用前面的来初始化(通过智能指针类的拷贝构造或赋值运算符): C++11 智能指针 标签:错误 ptr 计数 赋值运算符 ted 出错 detail 独立 运算符 原文地址:https://www.cnblogs.com/taoXiang/p/12810708.htmlclass TestSP{
public:
TestSP(string s):str(s) {
cout"TestSP created\n";
}
~TestSP() {
cout"TestSP deleted:"endl;
}
const string& getStr() {
return str;
}
void setStr(string s) {
str = s;
}
void print(){
coutendl;
}
private:
string str;
};
TestSP *dx = new TestSP("123");
shared_ptr
//或者
shared_ptrshared_ptr
下一篇:python2.4 数字