C++相談室 part28
■ このスレッドは過去ログ倉庫に格納されています
0435デフォルトの名無しさん
NGNGshoot.erase(T++)の実行順序は、
1. Tの値を引数として保存
2. T++を実行
3. 保存された引数をshoot.eraseに渡す(この結果旧Tの指していた要素は消滅する)
だよ。
これがshoot.erase(T); T++;になると:
1. Tの値を引数としてshoot.eraseを実行し、Tの要素が消滅しているため無効になる
2. 無効になってしまったTに対してT++を実行するのは駄目
■ このスレッドは過去ログ倉庫に格納されています