De Herb Sutter usando a referência citada:
A especialização do vetor foi intencionalmente colocada no padrão para fornecer um exemplo de como escrever um contêiner com proxy. Um "contêiner com proxy" é um contêiner cujos objetos você não acessa diretamente; em vez de fornecer ponteiros ou referências a um objeto contido, um contêiner com proxy fornece objetos proxy que podem ser usados para acessar ou manipular indiretamente um objeto contido. Coleções Proxied podem ser úteis nos casos em que os objetos dentro da coleção nem sempre podem ser acessados com confiabilidade diretamente como se estivessem na memória, como por exemplo, com uma coleção baseada em disco que automaticamente pagina partes de si mesma dentro e fora da memória sob as capas, como necessário. Portanto, a ideia era mostrar como fazer com que uma coleção com proxy atendesse aos requisitos de um "contêiner"
E sim, houve discussão na época.
- Para todos os detalhes sangrentos, navegue até o DejaNews e faça uma pesquisa avançada por Subject = "vector and bool" e Forum = " c ++ ". As discussões ocorreram em janeiro / fevereiro de 1997. Você também encontrará discussões mais recentes de pessoas perguntando como desativar a especialização de vetores; veja o final deste artigo para meu conselho.
O resto é história. E eu odeio ver uma pergunta sem resposta com links tão bons.
std::vector
escrito antesstd::bitset
?