stl

push_back(...) vs. insert(end(), ...)

明らかに前者の方が速いだろうと思っていたがコンパイラをなめていたようだ。 g++ (Ubuntu 4.3.3-5ubuntu4) 4.3.3 Copyright (C) 2008 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty…

invalid iterator同士の比較

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

invalid iterator同士の比較2

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

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

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