• 締切済み

listにvectorを格納

言語はC++ OSは、Vine2.4.20rev1です。 次のプログラム: #include <iostream> #include <cstdlib> #include <stdio.h> #include <list> #include <vector> using namespace std; void main() { list <vector <double> > B; list <vector <double> >::iterator iteB; vector <double> dat1; dat1.push_back(1.); iteB=B.begin(); B.insert(iteB,dat1); double limit=0.; vector <double> dat2; dat2.push_back(limit); iteB=B.begin(); int cnt=0; while((*iteB)[0]>=limit && cnt<B.size()){ iteB++;cnt++; } } において、格納された数字は行単位でobjectになるのではなく、 マス単位でobjectになるようです。 つまり、incrementは、行単位で一斉に行われるのではなく ひとつづつ手で移動させなければならない、と。 さて、どのように書くのがシンプル、あるいは標準的なのでしょうか?

みんなの回答

  • gimmick
  • ベストアンサー率49% (134/270)
回答No.1

質問の内容がわかりにくいのですが、リストに入っているdouble型の値にアクセスしたいということでしょうか。それでしたら、 typedef list <vector <double> >::iterator LIST_IT; //この辺はお好みで for (LIST_IT i = B.begin(); i != B.end(); i++) {   for (int j = 0; j < (*i).size(); j++) {     cout << j << " " << (*i)[j] << endl;   } } みたいにやっておけばよいかと思います。 STLはほとんど知らないので、変な事を書いてたらごめんなさい。

noname#108554
質問者

お礼

お手数お掛けしてしまって申し訳ないんですが、 あらたに質問を作りました。 よければ回答をお願いいたします。

関連するQ&A