- 243 名前:デフォルトの名無しさん mailto:sage [2006/06/04(日) 23:40:00 ]
- >>213
>カウンタ用意したらイテレータパターンの意味ないだろ >何番目か意識することなく取り出すのが目的なんだから > >カウンタ使いたければふつうにfor( ; ; )すればいいだけ これはちがうだろ。Iteratorは、データ構造に依存せずに繰り返しのためのインターフェースを提供することが目的。 Iteratorが考えだされるまでは、ListやArrayやTreeといったデータ構造ごとに、繰り返しの操作が異なっていたし、それが当たり前だった。 それがIteratorによって、どれでも同じインターフェースで繰り返しが行えるようになった。 Iteratorの目的は「繰り返し」の抽象化であり、そのこととカウンタとはぜんぜん別の問題。 ListやTreeに対してはIteratorとカウンタの両方を使うべきであり、for(int i=0; i<count; i++)とかするのはバカ。
|

|