итератор std :: deque против аннулирования ссылки - PullRequest
0 голосов
/ 25 июня 2018

Почему нажатие элемента на одном из концов std::deque делает недействительными все существующие итераторы (хотя все ссылки остаются в силе)?

Я понимаю, что deque реализован в виде массива массивов, и что нажатие элемента на любом конце не приведет к перераспределению существующих элементов. И именно поэтому ссылки остаются в силе. Но так должны итераторы.

Я также понимаю, что итератор deque имеет тип RandomAccessIterator и что этот итератор должен поддерживать некоторые операции, такие как сложение / вычитание постоянного числа, ++, - и т. Д.

Что я не понимаю, так это то, что из операций, которые должны поддерживаться RandomAccessIterator , не может быть реализовано базовой структурой std::deque.

...