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;
}