我有一个名为nVectors
的矢量数组。
vector<int>* nVectors[21];
for (int i = 1; i <= 20; i ++) {
nVectors[i] = generateVector(i);
}
我可以打印单个矢量的所有成员,但是当涉及到矢量数组时,我仍然不知道如何打印数组中的所有矢量。
使用矢量数组的所有成员并使用我预定义的方法pvector
打印可能是一个迭代器可以解决这个问题吗?但我不知道如何在gdb中进行迭代。
答案 0 :(得分:0)
std::array<std::vector<int>*, 21> nVectors;
for(std::array<std::vector<int>*>::iterator i = nVectors.begin();
i != nVectors.end();
++i)
{
for(std::vector<int>::iterator it = (*i)->begin();
it != (*i)->end();
++it)
{
std::cout << *it << " ";
}
}
std::cout << std::endl;
或者,在C ++ 11中:
std::vector<int>* nVectors[21];
for(auto &i : nVectors)
{
for(auto &it : i)
{
std::cout << *it << " ";
}
}
std::cout << std::endl;