Станд.:: вектор <bool> специализация не должен использоваться.
Станд.:: вектор <bool> специализация не должен использоваться.
Специализация std::vector
для типа bool
может быть сделан эффективным пробелом заданным способом реализации. Например, std::vector<bool>
не обязательно хранит его элементы как непрерывный массив. В результате специализация не работает как ожидалось со всем стандартным шаблоном библиотеки (STL) алгоритмы, такие как индекс operator[]()
который не возвращает непрерывную последовательность элементов. Вы не можете безопасно изменить отличные элементы контейнера STL std::vector<bool>
.
Если вы ожидаете нарушение правила, но не видите его, обратитесь к Кодированию Стандартных Нарушений, Не Отображенных.