xml*_*lmx 12 c++ standards constructor c++11 list-initialization
是new int[8]()
等同于new int[8]{}
在C++ 11?
换一种说法:
C++ 11标准是否保证每个new int[8]()
并new int[8]{}
返回零初始化数组?
Nic*_*las 16
new int[8]()
将[dcl.init] /17.4进行值初始化.由于它是一个数组,[dcl.init] /8.3告诉我们初始化数组的值意味着对每个元素进行值初始化.
new int[8]{}
将通过[dcl.init.list] /3.2调用数组上的聚合初始化.由于braced-init-list中没有元素,因此数组中的每个剩余元素(即:all 8)将从"空初始化列表"([dcl.init.aggr]/8)初始化.在再次通过[dcl.init.list]跳过后,会引导您进入3.4,它告诉您"非空聚合类型的空初始化列表"意味着值初始化.
所以,是的,他们都评价同样的事情.
归档时间: |
|
查看次数: |
531 次 |
最近记录: |