В начале кода C ++ я инициализирую вектор из 1000000 (миллиона) данных типа bool. Тем не менее, в valgrind максимальное использование кучи + стека показывается 200Kb. Учитывая, что Bool равен 1 байту, не должен ли он быть 1 Мб?
Есть ли оптимизация, которую я не понимаю? Или я что-то упустил?
Спасибо заранее.
Я использую систему Ubuntu64 16.04. Компиляция кода без параметра -O
.
Редактировать: Код можно упростить до этого,
vector<bool> * isPrime;
int main(){
isPrime = new vector<bool>(1000000, true);
}
Edit2: Кажется, была оптимизация, которую я не понимаю (о чем говорится в комментариях). Спасибо.