避免使用vector<bool>
vector<bool> boolVec 这个容器在存放bool的时候,是"连续"存放,但一个bool它只用了一个bit空间.这就导致如果你通过bool* pSrc = &boolVec[0]; 取出来的pSrc并不能正常工作,而实际上编译器也无法编译通过这句话bool* pSrc = &boolVec[0];
因为vector<bool> 类型的[]进行了特殊的处理,返回的不是bool*的类型.
因为这个特殊性的存在,建议尽量避免使用vector<bool>
网友评论