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 2012-02-22 10:05:03