【发布时间】:2011-05-30 12:03:19
【问题描述】:
如果我分配一些原始类型的数组,例如
double *v = new double[10];
我需要知道,数组条目的初始值是多少。
它是在标准还是编译器依赖中指定的,我在哪里可以找到它。
谢谢, 约翰内斯
【问题讨论】:
标签: c++ initialization memory-management
如果我分配一些原始类型的数组,例如
double *v = new double[10];
我需要知道,数组条目的初始值是多少。
它是在标准还是编译器依赖中指定的,我在哪里可以找到它。
谢谢, 约翰内斯
【问题讨论】:
标签: c++ initialization memory-management
不,数组内容未初始化。您需要使用double *v = new double[10](); 为每个元素设置默认值0(注意())。
【讨论】:
Notice ()。哈哈
() 的参考资料?
T(),§8.5/7 说An object whose initializer is an empty set of parentheses, i.e., (), shall be value-initialized.,§8.5/5 说— if T is an array type, then each element is value-initialized;。 double 类型元素的值初始化意味着零初始化。