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;
int main(int argc, char* argv[])
{
shared_ptr<int> point2(new int[10], std::default_delete<int[]>()); //使用标准库删除器
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;
}
本文介绍了三种不同的删除器使用方式:一般删除器、标准库删除器和lambda删除器。通过具体的C++代码示例展示了如何为智能指针设置不同类型的删除器,以实现资源的有效管理和释放。
2892

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



