【发布时间】:2020-06-21 12:43:56
【问题描述】:
我想声明一个大型数组,初始化时每个值都设置为 DEFAULT_VALUE,但整个数组中的三个值除外。
写int array[2048] = { DEFAULT_VALUE };
将使用默认值填充整个数组,并且
int array[2048] = { [4] = VALUE_1, [123] = VALUE_2, [2047] = VALUE_3 };
将设置特定索引,其余设置为零(它在全局空间中),但是如何初始化数组以具有特定值和我自己的默认值?我可以编写自己的初始化例程吗?
顺便说一句,速度在这里是一个优先事项。
【问题讨论】:
-
如果您不知道,第二个是特定于编译器的扩展,而不是标准 C++。
-
"写入
int array[2048] = { DEFAULT_VALUE };将使用默认值填充整个数组" - 不,它不会。它只会用DEFAULT_VALUE填充第一个元素,其余元素将被初始化为0。
标签: c++ arrays initialization