От Херба Саттера, используя приведенную ссылку:
Специализация на вектора была намеренно включена в стандарт, чтобы дать пример того, как написать прокси-контейнер. «Прокси-контейнер» - это контейнер, объекты которого вы не можете получить напрямую; вместо предоставления вам указателей или ссылок на содержащийся объект, прокси-контейнер предоставляет вам прокси-объекты, которые можно использовать для косвенного доступа или манипулирования содержащимся объектом. Проксированные коллекции могут быть полезны в тех случаях, когда к объектам в коллекции не всегда можно получить надежный доступ напрямую, как если бы они находились в памяти, как, например, для дисковой коллекции, которая автоматически помещает фрагменты себя в память и из памяти под обложками, как необходимо. Таким образом, идея состояла в том, чтобы показать, как сделать такую прокси-коллекцию отвечающей требованиям «контейнера».
И да, тогда была дискуссия.
- Чтобы узнать все подробности, зайдите в DejaNews и выполните мощный поиск Subject = "vector and bool" и Forum = " c ++ ". Дискуссии проходили в январе / феврале 1997 года. Вы также найдете более свежие дискуссии от людей, спрашивающих, как отключить специализацию вектора; см. конец этой статьи для моего совета.
Остальное уже история. И я ненавижу видеть оставшийся без ответа вопрос с такими хорошими ссылками.
std::vector
написано раньшеstd::bitset
?