如何在c++中初始化具有相同值的二维数组
How to initialize a 2D array with same values in c++
我们可以使用fill_n函数初始化具有值的1D数组。
int table[20];
fill_n(table, 20, 100);
但是我们如何用相同的值初始化2D数组呢。
int table[20][20];
fill_n(table, sizeof(table), 100); //this gives error
您可以使用指向第一个元素的指针和指向最后一个元素之后的元素的指针:
int table[20][20];
int* begin = &table[0][0];
size_t size = sizeof(table) / sizeof(table[0][0]);
fill(begin, begin + size, 100);
使用fill_n可以编写:
std::fill_n(&table[0][0], sizeof(table) / sizeof(**table), 100);
使用std::vector
:
std::vector<std::vector<int>> table(20, std::vector<int>(20, 100));
全部完成并在申报时"填写"。不需要更多的代码。
相关文章:
- 将值从二维数组输出到文本文件
- 在二维数组中查找最小值和最大值?
- 移动二维数组中的字符
- 如何正确填充在堆上分配的二维数组?
- 传递二维数组时出现问题
- 具有随机数的二维数组不会更改
- 如何在C++中获取二维数组中最少的一列数?
- 如何使用用户输入变量制作二维数组?
- C++ 中动态二维数组的访问冲突
- 遍历二维数组的所有子数组
- 将二维数组的所有元素插入到一维数组中
- 在函数中传递二维数组
- 为什么指针在对二维数组进行排序时无法正常工作?
- 创建 std::string 的二维数组的最佳做法
- 如何将文本文件读取到二维数组中并以 c++ 打印
- 元素在二维数组 c++ 中的出现次数
- 执行 c++ 二维数组
- C++ 中的二维数组初始化为一个值
- 在C++中初始化第一维大小未知的二维数组
- 如何在二维数组中存储值?