0

私が理解していることから、次のプログラム

#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) の操作上のプロパティは何ですか?

4

1 に答える 1