Является ли std :: vector в C ++ compact bools?Я имею в виду, что я прочитал, что std :: vector может объединять 8 логических значений в 1 байт.Однако, когда я попробовал этот код в Visual Studio,
#include <vector>
#include <iostream>
using namespace std;
int main()
{
vector<bool> array {true, false, false, true, true,false,false,true};
cout << sizeof(array) << endl;
cout << sizeof(array[0]) << endl;
getchar();
return 0;
}
он напечатал:
24
16
, а в другой IDE, такой как кодовые блоки, он напечатал 20 и 8.
Я не совсем понимаю, что здесь происходит с логическими значениями.