初始化并使用结构的 2D 向量

Initialize and use 2d vector of structs

本文关键字:2D 向量 结构 初始化      更新时间:2023-10-16

我正在尝试初始化具有

vector <vector <cellValue>> table;
mStringX = X;
mStringY = Y;
mLengthX = X.length();
mLengthY = Y.length();
vector<cellValue> myRow (0, mLengthY);
table.push_back(myRow);

我的结构cellValue

struct cellValue
{
    int stringLength;
    arrow direction;
};

并在我的代码中使用几个地方

table[i, j]->stringLength = table[i - 1, j - 1]->stringLength + 1;

但是我有一种感觉,我使用向量完全错误。我是向量的新手,有人告诉我它们类似于数组。

发现我做错了什么。当我初始化我的向量时,我需要声明 is table = vector<vector<cellValue>> (mLengthX, vector<cellValue>(mLengthY));,每当我访问table的值时,我都需要执行table[i][j].stringLength而不是table[i, j]->stringLength