【发布时间】:2017-01-23 09:46:25
【问题描述】:
#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 。但是为什么大小不一样?
【问题讨论】:
-
std::vector< bool >是一种特殊的……动物。见stackoverflow.com/questions/17794569/…