iterator

invalid iterator同士の比較

諸事情でブログ名変えました。libstdc++とSTLportでは普通に通る下のようなコードが、VC++ (dinkumware) (2008-12-18 04:50追記: VC++の_SCL_SECURE系のチェックによるものなのでdinkumwareはあんまり関係ない) では動かなくて困っていた。operator==()で落…

invalid iterator同士の比較2

結局、上の問題への対処として、適当な空コンテナを作って、そいつのイテレータを有効でないイテレータとして扱う事で逃げようとしたんだけどそれでも依然例外が出る。テストコードは以下。さすがにこれが通らないと仕様に合致しているとは言えないだろう。 …

Iteration Interruption の処理

「IEnumerator<T> を実装していれば必ず IDisposable である理由」は興味深かった。Java では Iterable / Closable がありますが、どうなんだろうと思ったら次のようなバグレポートを見つけました。 A DESCRIPTION OF THE REQUEST : Guarantee that if iterator</t>…

STL のイテレータは「やりすぎ」か

最近大学生にC++を教える機会がありました。第一印象は (失礼な物いいですが) とてもプログラミングなどとは無縁な生活を送っているかのような学生だったので、なぜC++を勉強しているのかと聞いたら、先学期に授業でPerlを勉強してMarkov Cluster Algorithm…