有没有类似于 memset()
来初始化一个二维数组的所有元素为某个值?memset
只能用于将所有二维数组的值初始化为 0
和 -1
.
你可以使用 std::fill
:
for(auto &arr : two_dim)
std::fill(std::begin(arr), std::end(arr), value);
这将适用于许多数组和容器,如 std::vector
, std::array
和C数组。
还需要注意的是,你可以使用 memset
来初始化数组中所有元素的值,而非 -1
和 0
. 只是每个元素中的所有字节都有相同的值,如 0x12121212
.
这里是 填充() 函数,用于初始化具有特定值的2D数组
#include <iostream>
#include <algorithm>
int a[row][column], value;
std::fill(a[0], a[0] + row * column, value);