2D数组值在c++中声明后赋值
2D Array Value Assign After Declaration in C++
我知道当我们想给二维数组赋值时我们声明数组,我们这样做:
int myArray[2][4] = {{1,2,3,4},{5,6,7,8}};
但是我应该如何赋值"之后"声明它?我想这样做:
int myArray[2][4];
myArray = {{1,2,3,4},{5,6,7,8}};
当我这样做时,编译器给出错误。请帮助。
如果你想使用std::vector
,那么你可以这样做:
#include <vector>
int main()
{
std::vector< std::vector<int> > arrV ;
arrV = { {1,2,3,4}, {5,6,7,8} };
}
或使用std::array
:
#include <array>
int main()
{
std::array<std::array<int,4>,2> arr ;
arr = {{ {{1,2,3,4 }}, {{5,6,7,8}} }} ;
}
注意,内部集合和外部集合中都有双大括号。这个答案只适用于c++ 11。
相关文章:
- 为什么我必须在C++中添加一个赋值符号来声明一个数组
- 如何在 c++ 中正确声明/赋值变量的值
- 在C++中用字符串数组拆分声明和赋值
- 如何声明一个数组,然后在另一行中赋值
- 如何声明可以执行赋值操作的函数?(C++)
- 使赋值运算符在声明上工作
- 在声明上为类赋值不会编译
- 未隐式声明的移动赋值运算符
- 将默认赋值运算符声明为 constexpr:哪个编译器是正确的?
- C++重载赋值运算符声明中做什么?
- 用c++赋值内联声明变量
- 在C++中为类变量赋值后声明类变量
- 指针声明基础(多维数组指针的赋值)
- 稍后声明数组并赋值
- 如何使用const_reference类型来声明一个变量并为其赋值 front() 函数的返回值
- 如果我们只定义复制构造函数/oper=,为什么移动构造函数/move赋值没有隐式声明和定义为删除
- 为什么引用类型成员会导致删除隐式声明的复制赋值运算符
- 在同一语句中编写引用声明和赋值
- 使用"using"声明隐藏基类方法不适用于赋值运算符
- 用花括号代替赋值操作符声明和实例化作用域变量