2011-12-16 6 views
0

私はnVectorsと呼ばれるベクトル配列を持っています。ベクトル配列の印刷方法は?

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

私は、単一のベクターのすべてのメンバーを印刷することができますが、それはベクトル配列に来るとき、私はまだ、アレイ内のすべてのベクトルを印刷する方法がわかりません。

ベクトル配列のすべてのメンバーを反復処理し、私の定義済みのメソッドpvectorを使用して印刷すると、この問題を解決できますか?しかし、私はgdbでどのように反復するのか分かりません。

+0

あなたは画面に '印刷' するか、GDBに何を意味するのですか? –

+0

'generateVector()'とは何ですか? –

+0

gdbにあります。 'generateVector'メソッドは単にベクトルのポインタを返します。 –

答えて

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; 
+0

私はOPの意味を「ベクトルへのポインタ配列内のすべてのベクトルの内容を出力するようにgdbに指示することはできますか?」ではなく「配列内のすべてのベクトルの内容を出力するC++コードを書くことができますベクトルへのポインタの? "ポインタの配列を出力する方法ではなく、 'std :: array'を出力する方法を示しています。ポインターの配列を持つ人にはあまり役に立ちません。あるものから別のものに変換する方法についても説明していません。 。 。 – ruakh

+0

はい、それは私の意味です。 –

+0

外側のサイクルの終わりに 'cout << endl'を追加するのでしょうか? – Nick

関連する問題