我有一个数组(例如, unsigned int arr[1000]
)。
我想像这样初始化数组的元素..
arr = {4, 10, 34, 45, 6, 67, UINT_MAX, UINT_MAX .. 994 times}
那是在我分配一些值之前,我希望数组中的默认值是 UINT_MAX。有没有办法做到这一点?
当然 for 循环总是存在的,但除此之外还有其他任何方式。
最佳答案
请使用 2 阶段方法。首先,使用初始化列表,然后用 std::fill
填充其余部分
#include <limits>
#include <algorithm>
constexpr size_t ArraySize = 1000U;
int main() {
int arr[ArraySize] = { 4,10,34,45,6,67 };
std::fill(arr + 6U, arr + ArraySize, std::numeric_limits<int>::max());
return 0;
}
关于c++ - 如何将数组部分初始化为某个默认值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62750151/