64,282
社区成员
发帖
与我相关
我的任务
分享
#include <iostream>
using namespace std;
class point
{
public:
static int number;
public:
point()
{number++;}
~point()
{number--;}
};
int point::number=0;
int main()
{
point* ptr;
point* pp=new point[3];
cout<<point::number<<endl;
ptr=pp;
delete[] ptr;
return 0;}
delete []ptr;
ptr = nullptr;
pp = nullptr;
或者把ptr和pp换成智能指针
shared<point> ptr(new point[3](), default_delete<MyClass[]>())
但是智能指针不能识别你new出来的是不是数组,所以需要告诉它用数组的方式去删default_delete<MyClass[]>()