相关疑难解决方法(0)

一个可以指向任何地方的指针,如何确定是否可以安全地调用"删除"?

有没有办法在运行时区分以下两种情况:

double ptr * = new double(3.14159);
double variable = 3.14159

double * testPtr_1 = ptr;
double * testPtr_2 = &variable;

delete testPtr_1  // fine... 
delete testPtr_2  // BIG RUN TIME ERROR !!!
Run Code Online (Sandbox Code Playgroud)

我发现自己陷入困境,我需要调用delete操作符来获取一些未知指针.指针可以指向任何位置(指向"本地"变量或动态分配的变量).

我怎样才能找到我的"未知"指针指向的位置,因此选择何时何时不要调用operator delete




编辑: 好的我看到每个人都指着智能指针,但如果我想写自己的指针怎么办?一套智能指针(这是我的问题背后的原因)?

c++

2
推荐指数
2
解决办法
144
查看次数

标签 统计

c++ ×1