助田です. In [ruby-list:13604] Re: iterator for Dummies( was Re: Ruby anywhere ) > こういうのが標準であるんですか。たいぶ昔に C++ を勉強 >しただけなので知りませんでした。 STL(Standard Template Library) とかいう奴です.その名の通り C++ の標準ライブラリになりました. >> vector<int>::iterator i; //i がカーソル? >> for(i=ary.begin(); i!=ary.end(); i++) { >> output(*i); >> } >> begin,end,++ の実装がカーソルの中に隠蔽されているわけ >>ですね。 えーと, ++ はカーソル(vector<int>::iterator)で実装されてますが begin() と end() は ary(vector<int>)側でイテレータを返すように 実装されていると思います.(STLの中身読んでませんのでよく知 りません.詳しい方フォローお願いします.) カーソルで実装されているのは,この例でいけば ++,!=,* です. > for(i=ary.begin(), j=ary2.begin; i!=ary.end(); i++,j++) { > *i と *j を比較する > } >みたいなことですかね。 そうです. -------------------------------------------- 助田雅紀(masaki.suketa / systemplaza.co.jp) --------------------------------------------