<分区>
#include <iostream>
using namespace std;
int main()
{
int *p = new int[7];
delete p;
return 0;
}
我可以在 C++ 中像这样释放整个内存块吗? 提前致谢。
标签 c++
<分区>
#include <iostream>
using namespace std;
int main()
{
int *p = new int[7];
delete p;
return 0;
}
我可以在 C++ 中像这样释放整个内存块吗? 提前致谢。
最佳答案
释放用 new[]
分配的数组,不带方括号 delete[]
是标准未定义的行为,这意味着它有时似乎可以工作,或者它可能会召唤恶魔有时你的 Nose 。没有编译器扩展可以对此做出额外的保证。
当你需要动态数组时使用std::vector
。
关于c++ - 如果我在 C++ 中使用 new 运算符分配内存块,如何在不使用方括号的情况下释放它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52071910/