【发布时间】:2011-09-23 14:42:30
【问题描述】:
我是 C++ 新手,有一些不清楚的地方:
#include <iostream>
using namespace std;
double* foo(void)
{
double* b = new double[100];
return b;
}
int main()
{
double* a = foo();
delete [] a;
return 0;
}
这段代码有问题吗?我的意思是我使用 operator delete 的方式是否正确?我将指向 foo 函数中分配的内存的指针 b 分配给 foo 外部的指针 a,我可以通过 main 中的 delete[]a 释放内存吗?我不知道编译器如何计算执行 delete[] 时要释放的字节数。谢谢
【问题讨论】:
标签: c++ delete-operator