C++ Notes: Array Initialization有一个关于数组初始化的很好的列表。我有一个
int array[100] = {-1};期望它充满-1,但事实并非如此,只有第一个值是,其余的都是0和随机值的混合。
代码
int array[100] = {0};工作正常,并将每个元素设置为0。
我在这里错过了什么..。如果值不是零,就不能初始化它吗?
和2:默认初始化(如上所述)是否比通常的遍历整个数组并赋值的循环更快,还是做同样的事情?
发布于 2009-06-30 20:14:46
您链接的页面状态
如果指定了显式数组大小,但指定了较短的初始化列表,则未指定的元素将设置为零。
速度问题:对于这么小的数组,任何差异都可以忽略不计。如果您使用大型数组,并且速度比大小重要得多,那么您可以拥有一个包含默认值(在编译时初始化)的常量数组,然后将它们memcpy到可修改的数组中。
https://stackoverflow.com/questions/1065774
复制相似问题