オブジェクト指向は愚かな考え。この世は計算式 ★3©2ch.net (961レス)
上下前次1-新
抽出解除 レス栞
695(2): デフォルトの名無しさん [sage] 2016/08/06(土) 20:05:53.09 ID:OCZ+hMAU(1) AAS
そもそもbegin, endなどのモロモロが
既に(外部)イテレータ以外の何物でもないわけでw
内部イテレータ形式を欲しがるかどうかはともかく
range-based forとかはどうでもいいよねこの場合
697(1): デフォルトの名無しさん [sage] 2016/08/06(土) 21:29:05.67 ID:rdi0Pbkh(2/2) AAS
>>695
おっしゃりたいことがよくわからなかったのですが
「イテレーター(内部なり外部なりの)が標準で提供されていればイテレーターパターン(GoFの)はいらない」
という主張(>>639,646639(2): デフォルトの名無しさん [sage] 2016/08/04(木) 19:27:18.45 ID:0aO0sFCL(12/13) AAS
>>638
Smalltalk と C++ との比較で? それならもちろん Smalltalk です。
(同書P.289より)
Smalltalkではiteratorを明示的に定義する必要はない。標準的なコレクションクラス(Bag、
Set、Dictionary、OrderedCollection、Stringなど)で、内部iteratorのメソッドdo:を定義してい
るからである。do:はブロック(つまり、closure)を引数としてとる。
(標準的なコレクションクラスの例になぜか名前がありませんが当然Arrayも含みます。念のため。)
646(2): デフォルトの名無しさん [sage] 2016/08/04(木) 20:55:24.22 ID:HlIXxJdQ(2/2) AAS
>>643
for each (range based for)でいいじゃん。
for (auto& item : collection)
{
// print an item
}
クロージャ風がいいなら、
std::for_each(collection.end(), collection.begin(), [](auto& item){ /* print */}
アイテレーターが登場するけど昔の名残みたいなもんで、
本質じゃないだろ?(範囲を指定してるだけ)
)に対して「そもそも〜」はどういう反論で、
range-based forがなぜ「どうでもいい」という話になるのしょうか?
700: デフォルトの名無しさん [sage] 2016/08/06(土) 22:20:26.81 ID:70rUJ/gH(6/6) AAS
>>695
>そもそもbegin, endなどのモロモロが
>既に(外部)イテレータ以外の何物でもないわけでw
だめだ、こいつは手の施しようがないw
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 1.715s*