調べたところ、
次の箇所、std::mapの挙動が違いました。
mapがemptyであるとき、0が入ると思っていたのですが、デバッグモードでは、0、最適化(Release Mode)を行うと、1が入ってしまいました。
map[xx]=map.size();言語仕様上、正しい動作は分からないのですが、とりあえず、明示的に次のような対処を行いました。
int size=map.size(); map[xx]=size;Runtime自体は、変わっていないようですので、恐らくコンパイラの差異なんでしょう。いつものことですが、コンパイラを変えると何かしら、こうした問題が発生します。
0 件のコメント:
コメントを投稿