c++ - C++ 声明后二维数组值赋值

标签 c++ arrays 2d declaration

我知道当我们在声明数组时想要为二维数组赋值时,我们会这样做:

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++ 声明后二维数组值赋值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16059781/

相关文章:

arrays - 我将如何分离 JSON 字典值并将它们放入 Swift 数组中?

python - argmax 用于沿某个轴的多维数组

java - 我如何在 java 中制作像 Notch 这样的基于像素的游戏

c - 在 2d 数组 3x3 幻方中查找重复值

c# - 使用程序集链接器将资源文件链接到现有的 .NET 程序集

c++ - 如何将 unsigned char 数组转换为 unsigned long long?

c++ - 在线编译器工具执行所有操作还是只检查是否编译?

c++ - QObject 的多重继承

arrays - 查找 2 个排序数组的并集(有重复项)

c++ - 2D 45 度角倾斜瓷砖