2011-12-16 62 views
0

我有称为nVectors一个矢量阵列。如何打印矢量数组?

vector<int>* nVectors[21]; 
for (int i = 1; i <= 20; i ++) { 
    nVectors[i] = generateVector(i); 
} 

我可以打印单个矢量的所有成员,但是当涉及到矢量阵,我仍然不知道如何打印所有向量在数组中。

也许通过使用我的预定义的方法pvector可以解决这个问题的向量阵列,并且打印的所有成员的迭代器?但我不知道如何在gdb中迭代。

+0

你说的 '打印' 到屏幕或在gdb是什么意思? – 2011-12-16 02:58:24

+0

`generateVector()`怎么了? – 2011-12-16 02:58:50

回答

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;