C++で2Dベクトルを文字で埋めようとしていますが、このコードを実行すると1行の文字(*..
)で終了します。C++で2Dベクトルを塗りつぶします
は、どのように私はこのような2次元ベクトルを埋めることができます。 *.* .**
#include <iostream>
#include <vector>
int main()
{
std::vector<std::vector<char> > vec2D;
std::vector<char> rowV;
unsigned int row=2;
unsigned int col=3;
char c;
unsigned int temp=0;
while(temp!=col)
{
while(rowV.size()!=row)
{
std::cin>>c;
rowV.push_back(c);
}
vec2D.push_back(rowV);
++temp;
}
return 0;
}
興味深い無関係なfun-fact: 'std :: vector>'は2Dベクトルを作成しません。これは 'vector'の' vector'を作ります。これはいくつかの厄介なパフォーマンス上の問題(検索用語: "ポインター追跡"、 "空間的局所性")をもたらします。 は、理解して使用するのが残酷に簡単ですが、プロファイリングがプログラムが遅すぎることがわかったら覚えておいてください。 –
user4581301