如何将一个二维数组的所有元素初始化为一个特定的值?

问题描述 投票:1回答:1

有没有类似于 memset() 来初始化一个二维数组的所有元素为某个值?memset 只能用于将所有二维数组的值初始化为 0-1.

c++ c++14
1个回答
3
投票

你可以使用 std::fill:

for(auto &arr : two_dim)
    std::fill(std::begin(arr), std::end(arr), value);

这将适用于许多数组和容器,如 std::vector, std::array和C数组。

还需要注意的是,你可以使用 memset 来初始化数组中所有元素的值,而非 -10. 只是每个元素中的所有字节都有相同的值,如 0x12121212.


0
投票

这里是 填充() 函数,用于初始化具有特定值的2D数组

#include <iostream>
#include <algorithm>

int a[row][column], value;
std::fill(a[0], a[0] + row * column, value);
© www.soinside.com 2019 - 2024. All rights reserved.