相关疑难解决方法(0)

C++ new int [0] - 它会分配内存吗?

一个简单的测试应用:

cout << new int[0] << endl;
Run Code Online (Sandbox Code Playgroud)

输出:

0x876c0b8
Run Code Online (Sandbox Code Playgroud)

所以它看起来很有效.标准对此有何看法?"分配"空白内存块总是合法的吗?

c++ memory-management standards-compliance new-operator

228
推荐指数
4
解决办法
6万
查看次数

零大小的数组分配是什么意思?

查看一些示例代码并遇到一些零大小的数组分配.我创建了以下代码片段来澄清我的问题

这是有效的代码:

class T
{
};

int main(void)
{
  T * ptr = new T[0];

  return 0;
}
Run Code Online (Sandbox Code Playgroud)

有什么用?ptr有效吗?这个构造是否可移植?

c++ memory-management

5
推荐指数
1
解决办法
1439
查看次数