为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

C++
一只斗牛犬 2019-07-05 14:28:09
C+新的int[0]-它会分配内存吗?一个简单的测试应用程序:cout << new int[0] << endl;产出:0x876c0b8看起来很管用。标准是怎么说的?“分配”空内存块总是合法的吗?
查看完整描述

3 回答

?
慕姐4208626

TA贡献1852条经验 获得超7个赞

是的,像这样分配一个零大小的数组是合法的.但你也必须删除它。


查看完整回答
反对 回复 2019-07-05
?
隔江千里

TA贡献1906条经验 获得超10个赞

标准是怎么说的?“分配”空内存块总是合法的吗?

每个对象都有一个唯一的标识,也就是唯一的地址,这意味着一个非零长度(如果您要求零字节,实际的内存量就会悄然增加)。

如果您分配了多个这些对象,那么您会发现它们有不同的地址。


查看完整回答
反对 回复 2019-07-05
  • 3 回答
  • 0 关注
  • 604 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信