如果对此的答案非常明显,请耐心等待我,我对STL很新。
所以我拥有的是嵌套向量。迭代器按预期工作,按顺序显示嵌套向量中每个向量中存储的值。
我的问题是,有没有办法只输出第n个向量中的值?下面给出了迭代器代码。
(因为我使用的是旧版本的C ++,所以我没有使用auto
。)
vector<vector<double> >::iterator row;
vector<double>::iterator col;
for (row = attrVectors.begin(); row != attrVectors.end(); ++row)
for (col = row->begin(); col != row->end(); ++col) {
//I presume I would somehow need to edit this part.
cout<<" "<< *col;
}
我希望问题很明确。
提前致谢
答案 0 :(得分:2)
当然,这很简单:
void pintNthVector(const vector<vector<double> > &attrVectors, int n)
{
vector<double>::iterator col;
vector<double> &row = attrVectors[n];
for (col = row.begin(); col != row.end(); ++col) {
cout<<" "<< *col;
}
}