我知道这是不切实际的,我可以始终使用.size()或auto&col:矩阵,但是您如何使用以下方法遍历矩阵:
for (std::vector<vector<int>>::iterator col = matrix.begin(); col != matrix.end(); ++col){
for (std::vector<int>::iterator row = matrix[col].begin(); row != matrix[col].end(); row++){
std::cout << matrix[col][row] << std::endl;
}
}
我认为这是一个糟糕的主意,但想找到一种方法来处理2D向量。但是,如果您能弄清楚,那就太好了。
答案 0 :(得分:2)
您可以这样做:
std::vector<std::vector<int>> matrix;
for (auto col = matrix.begin(); col != matrix.end(); ++col)
for (auto el = col->begin(); el != col->end(); ++el)
std::cout << *el << std::endl;