1
私は最近、メンバ関数が呼び出されたコンテナによって制御されていない要素を参照するイテレータで呼び出されたときにシーケンスコンテナの操作(例:insert
、erase
) 。イテレータが制御されたシーケンスの要素を参照するための要件
int main() {
std::vector<int> a = {1,2,3}, b = {1,2,3};
a.erase(b.begin());
}
私は、これは未定義の動作につながることを知っているが、場所を正確に、これは標準で禁止されていますか?
(用語「によって制御」Dinkumwareのマニュアルで使用されているものであると私は一般的なシーケンスコンテナでそれを見つけることができませんでしたが、いくつかのvalarray
操作のための標準でも使用されている。)
N3337の同じテーブルを見ましたが、見積もりが見つかりませんでした。それは23.2.3/3によく隠されている。 – pmr