首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >是否在C++中将数组的所有元素初始化为一个默认值?

是否在C++中将数组的所有元素初始化为一个默认值?
EN

Stack Overflow用户
提问于 2009-06-30 20:10:25
回答 13查看 511.6K关注 0票数 297

C++ Notes: Array Initialization有一个关于数组初始化的很好的列表。我有一个

代码语言:javascript
运行
复制
int array[100] = {-1};

期望它充满-1,但事实并非如此,只有第一个值是,其余的都是0和随机值的混合。

代码

代码语言:javascript
运行
复制
int array[100] = {0};

工作正常,并将每个元素设置为0。

我在这里错过了什么..。如果值不是零,就不能初始化它吗?

和2:默认初始化(如上所述)是否比通常的遍历整个数组并赋值的循环更快,还是做同样的事情?

EN

Stack Overflow用户

发布于 2009-06-30 20:14:46

您链接的页面状态

如果指定了显式数组大小,但指定了较短的初始化列表,则未指定的元素将设置为零。

速度问题:对于这么小的数组,任何差异都可以忽略不计。如果您使用大型数组,并且速度比大小重要得多,那么您可以拥有一个包含默认值(在编译时初始化)的常量数组,然后将它们memcpy到可修改的数组中。

票数 8
EN
查看全部 13 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1065774

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档