タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

iteratorに関するfa11enprinceのブックマーク (2)

  • イテレータ - Standard Template Library プログラミング

    イテレータ C/C++でのプログラミングで避けて通れないのが"ポインタ"です。ポインタは配列の要素を順にアクセスすることができます: // 配列の要素をプリントする。 void print_array(int* a, int N) { int* p = a; for ( int i = 0; i < N; ++i ) { cout << *p << ' '; ++p; } cout << endl; } int a[10]; print_array(a,10); 同様に、配列とは異なるデータ構造である単方向リストの内容をプリントするには、 struct slink_of_int { int data; slink_of_int* next; // 次のリンク(末端には0を設定) }; // リストの要素をプリントする void print_list(slink_of_int* p) { w

  • イテレータを実装しよう

    イテレータ(iterator)は C++ STL(Standard Template Library)の中核を成す概念のひとつで、ポインタの機能を抽象化したものである。 参照外し(dereference)、インクリメント・デクリメント、比較などのポインタ同等の機能を持つ。 STLの各コンテナには、それ専用のイテレータクラスが定義されており、 イテレータオブジェクトの生成はコンテナの begin(), end() メソッドなどで行う。 コンテナの最大要素を取得する例: vector<int> cntn; ..... // cntn にデータを格納する処理 int val = MIN_INT; for(vector<int>::iterator itr = cntn.begin(); itr != cntn.end(); ++itr) val = max(val, *itr); イテレータは、

  • 1