我有一个 Matrix 类,它必须有一个接受未初始化列表的构造函数。构造函数必须获取值并将它们放入 2D 向量、矩阵中。
这是我的二维向量。
vector<vector<double>> d_matrix;
这是我的构造函数。
Matrix::Matrix(initializer_list<initializer_list<int>> list)
{
d_row = list.size();
d_col = (*list.begin()).size();
initMatrix();
for (size_t r = 0; r < d_row; ++r)
{
for (size_t c = 0; c < d_col; ++c)
{
/* I need to do something here */
//d_matrix[r][c] = list.begin() + r) + c);
//cout << (*list.begin()).;
}
}
}
这是我的初始化矩阵函数,从初始值开始。
void Matrix::initMatrix()
{
d_matrix.resize(d_col, vector<double>(d_row, 0));
}
这就是我调用构造函数的方式。
Matrix m({ {1, 2, 3},
{3, 4, 2} }
);
我设法获得了列表的尺寸(d_row 和 d_col),但是我坚持尝试从列表中提取值,也尝试了插入,并且迭代器开始和结束。未初始化的列表类似乎只有两个迭代器方法和一个大小方法。我正在使用命名空间标准btw。
问题是,如何从未初始化列表中获取值并将它们存储到我称为 d_matrix 的 2D 向量中。