C++ 笔记:数组初始化有一个关于数组初始化的很好的列表。我有一个
int array[100] = {-1};
期望它充满 -1,但事实并非如此,只有第一个值是,其余的都是 0 与随机值混合。
The code
int array[100] = {0};
工作正常并将每个元素设置为 0。
我在这里缺少什么..如果值不为零,就不能初始化它吗?
2:默认初始化(如上所述)是否比通常循环整个数组并赋值更快,或者它是否执行相同的操作?
使用您使用的语法,
int array[100] = {-1};
说“将第一个元素设置为-1
其余的到0
" 因为所有省略的元素都设置为0
.
在 C++ 中,将它们全部设置为-1
,你可以使用类似的东西std::fill_n (from <algorithm>
):
std::fill_n(array, 100, -1);
在可移植 C 中,您必须滚动自己的循环。有编译器扩展,或者您可以依赖实现定义的行为作为快捷方式(如果可以接受)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)