Я читал, что доступ к элементам по индексу позиции может выполняться в постоянное время в STL-детексе. Насколько я знаю, элементы в deque могут храниться в нескольких несмежных местах, исключая безопасный доступ через арифметику указателя. Например:
abc- > defghi- > jkl- > MNOP
Элементы deque выше состоят из одного символа. Набор символов в одной группе указывает, что он выделен в непрерывной памяти (например, abc находится в одном блоке памяти, defhi находится в другом блоке памяти и т.д.). Может ли кто-нибудь объяснить, как доступ по индексу позиции может выполняться в постоянное время, особенно если элемент, к которому нужно получить доступ, находится во втором блоке? Или у deque есть указатель на группу блоков?
Обновление: или существует ли другая общая реализация для deque?