1、使用默认删除器
#include <iostream>
using namespace std;
int main(int argc, char* argv[])
{
shared_ptr<int> point1(new int(10)); //使用默认删除器
return 0;
}
2、自定义删除器
#include <iostream>
using namespace std;
void mydelete(int* p)
{
cout << "log..." << endl; //释放内存的时候打印日志;
delete p;
}
int main(int argc, char* argv[])
{
shared_ptr<int> point2(new int(10), mydelete); //使用自定义mydelelte删除器
return 0;
}
3、lambda删除器
#include <iostream>
using namespace std;
int main(int argc, char* argv[])
{
//lambda删除器
shared_ptr<int> point3(new int(10), [](int* p) {
delete p;
});
return 0;
}
本文介绍了C++中智能指针shared_ptr的三种删除器使用方法:默认删除器、自定义删除器及lambda表达式删除器。通过示例代码详细展示了不同删除器的应用场景和实现方式。
1124

被折叠的 条评论
为什么被折叠?



