c++ - 使用 C++ 在多维 vector 中分配变量的最佳方法是什么?

标签 c++ vector codeblocks

我有这样一个矩阵值

3   1   30
5   8   1
1   5   2
0   23  7

目前我只知道用这种方式给多维 vector 赋值。

vector<vector <int> > vec;
vec[0][0]=3;
vec[0][1]=1;
vec[0][2]=30;
.
.
vec[3][2]=7;

对于较小的矩阵值,这是可以的,但对于较大的值,这会变得更难。有没有其他方法可以在多维 vector 中分配变量。

编辑

我正在使用代码块,但遇到了这个不寻常的错误

#include<iostream>
#include<vector>


int main()
{


    std::vector<std::vector<int> > vec = {{3,1,30},{5,8,1},{1,5,2},{0,23,7}};

    return 0;
}

错误

error: could not convert ‘{{3, 1, 30}, {5, 8, 1}, {1, 5, 2}, {0, 23, 7}}’ from ‘<brace-enclosed initializer list>’ to ‘std::vector<std::vector<int> >’

最佳答案

使用嵌套 for 循环:例如:

for (int i = 0; i < MAX_VECTOR_SIZE; i++)
{
    for(int j = 0; j < MAX_SUB_VECTOR_SIZE; j++)
    {
        vec[i][j] = value;
    }
} 

不要忘记在必要时替换给定的值。

关于c++ - 使用 C++ 在多维 vector 中分配变量的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38807450/

相关文章:

mysql - 如何将 MySql 库添加到 Code::Blocks/MinGW 中

c++ - Code::Blocks:如何在IDE中运行?

c++ - "error:expected ' ; ' before ' {' token

C++ Vector<int> 数组初始化

C++ - 线程执行失败

r - 如何在R中选择具有特定日期的每隔一行

r - 在向量上循环 uniroot

c++ - Sprite 表动画 Cocos2dx

c++ - 如何释放在子对话框中创建的 CWin 对象以避免内存泄漏

c++ - 如何遍历 map vector 中的 map ?