1855 次
3 に答える
10
C++ 標準では、erase(q1,q2)
メンバーは「範囲 [q1,q2) 内の要素を消去する」と述べています (セクション 23.1.1 を参照)。範囲は最後の要素を除外するため、
v.erase(v.end(), v.end());
は有効で、何も消去されません。
于 2009-11-05T04:57:02.323 に答える
10
v.erase(v.end(), v.end())
明確に定義され、何も消去されないと思います。
于 2009-11-05T04:34:29.000 に答える
2
C++ リファレンスの主張:
次の場合、イテレータ
first
は逆参照可能である必要はありませんfirst==last
: 空の範囲の消去はノーオペレーションです。
于 2016-07-13T16:52:18.277 に答える