C++ 注释:数组初始化 有一个很好的数组初始化列表。我有一个
int array[100] = {-1};
期望它充满-1但它不是,只有第一个值是,其余的是0与随机值混合。
编码
int array[100] = {0};
工作得很好,并将每个元素设置为 0。
我在这里缺少什么.. 如果值不为零,就不能初始化它吗?
和 2:默认初始化(如上)是否比通过整个数组并分配值的通常循环更快,还是它做同样的事情?
原文由 Milan 发布,翻译遵循 CC BY-SA 4.0 许可协议
使用您使用的语法,
说“将第一个元素设置为
-1
其余元素设置为 ---0
”,因为所有省略的元素都设置为0
。在 C++ 中,要将它们全部设置为
-1
,您可以使用std::fill_n
类的东西(来自<algorithm>
):在便携式 C 中,您必须滚动自己的循环。有编译器扩展,或者如果可以接受,您可以依赖实现定义的行为作为快捷方式。