C++ 向std::deque迭代器添加值安全吗

C++ 向std::deque迭代器添加值安全吗,c++,deque,C++,Deque,与std::vector不同,std::deque在内存中并不总是连续的 例如,这样做是否安全: std::size_t pos; //... compute pos ... mydeque.erase(mydeque.begin(), mydeque.begin() + pos); 知道“mydeque.begin()+pos”在deque范围内吗 我读到迭代器是“RandomAccessIterator”,所以它通常是安全的,对吗?是的,只要您在范围内(直到end())。这基本上是对随机访

与std::vector不同,std::deque在内存中并不总是连续的

例如,这样做是否安全:

std::size_t pos;
//... compute pos ...
mydeque.erase(mydeque.begin(), mydeque.begin() + pos);
知道“mydeque.begin()+pos”在deque范围内吗


我读到迭代器是“RandomAccessIterator”,所以它通常是安全的,对吗?

是的,只要您在范围内(直到
end()
)。这基本上是对随机访问迭代器执行的操作。

向迭代器添加值N时,只需将迭代器前进N步。它与数据在被迭代的集合中的存储方式无关