私が理解していることから、次のプログラム
#include <map>
int main()
{
std::map<int,int> foo;
std::map<int,int>::iterator start = foo.begin();
while (start++ != foo.end())
;
}
終了する必要がありますが、代わりに libstdc++ 4.7.2 を使用して無期限にループします。このプログラムの動作は正しいですか、それとも標準ライブラリにバグがありますか? イテレータの operator++(int) の操作上のプロパティは何ですか?