Re[3]: Как устроен queue?
От: 3V Россия  
Дата: 26.03.23 19:37
Оценка: 1 (1)
Здравствуйте, TailWind, Вы писали:

TW>Непонятно. Что он даёт?

Дает интерфейс.

TW>Почему нельзя list вместо него использовать?

Можно использовать.
А можно не использовать.
А можно вектор. А можно дек.

Вместе с типом тащится его специфика.
Вместе с типом контейнера тащится:
— его специфика управления памятью (его аллокатор);
— специфика доступа к элементам (интерфейс, категории итераторы, complexity);
— всякое другое вроде специфики инвалидации итераторов, thread safety, и т.д.

TW>Для чего лишняя сущность?

Это адаптер.
Он определяет интерфейс. Скрывает детали.

Грубо говоря если это очередь, то у тебя должны быть push и pop,
но не должны быть push_front/back, pop_front/back и не должно
быть всяких там at, оператора[], итераторов и прочего.
Потому что применение других методов контейнера может
сломать инвариант очереди.
Отредактировано 26.03.2023 19:48 3V . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.