#include <iostream>
#include<vector>
using namespace std;
bool a;
char c;
int main() {
vector<bool> bVec = { true,false,true,false,true};
vector<char> cVec = { 'a', 'b', 'c', 'd', 'e' };
cout<<sizeof(bVec);cout<<endl;
cout<<sizeof(cVec);
cout<<endl;
cout<<sizeof(a);
cout<<endl;
cout<<sizeof(c);
return 0;
}
Когда я скомпилирую этот код, я получаю размер cVec как 20 и размер bvec как 12. но почему размеры разные?Почему размер двух векторов <bool> bVec = {true, false, true, false, true}; vector <char> cVec = {'a', 'b', 'c', 'd', 'e'}; разные?
'std :: vector < bool >' особый вид .. животное. См. Http://stackoverflow.com/questions/17794569/why-is-vectorbool-not-a-stl-container –