Является ли массив bools также "оптимизированным", как vector<bool>?Я хочу сделать массивы истинными или ложными, но я также не хочу, чтобы некоторые проблемы с vector<bool> отображались в массиве, такие как медленное время доступа
vector<bool>
bool[N] будет занимать N раз sizeof(bool) смежных байта в памяти.
bool[N]
sizeof(bool)
Оптимизировано для скорости - один бул на слово, поэтому не нужно выполнять операции маскирования и чтения-изменения-записи. Оптимизированный для места будет упаковывать 32 bools за слово, поэтому вы должны быть более конкретными о том, что означает "оптимизированный".
Я думаю, что реализация C ++ по умолчанию в основном для экономии места, в то время как время доступа может быть затронуто.
если вам нужно более быстрое время доступа, вы можете сами его реализовать и пожертвовать пространством.