>>638
Smalltalk と C++ との比較で? それならもちろん Smalltalk です。

(同書P.289より)
Smalltalkではiteratorを明示的に定義する必要はない。標準的なコレクションクラス(Bag、
Set、Dictionary、OrderedCollection、Stringなど)で、内部iteratorのメソッドdo:を定義してい
るからである。do:はブロック(つまり、closure)を引数としてとる。

(標準的なコレクションクラスの例になぜか名前がありませんが当然Arrayも含みます。念のため。)