Я знаю, что все контейнеры обеспечивают постоянную операцию size()
, кроме forward_list
. Но как map
, внутренняя структура данных которого является красно-черным деревом, обеспечивает size()
постоянную сложность? То же самое для других, таких как вектор и строка. Используют ли они счетчик? Если да, то почему forward_list
?
Я смущен, когда читаю книгу. Стандартная библиотека С++: учебник и справочник.