vectorbool专题

不使用vectorbool的原因和替代方法

vector<bool>不是容器,至少,不是标准意义上的容器。 vector<bool>的名称有点让人误解,因为其内部元素实际上并不是标准的bool值,标准的bool值至少与char拥有一样的大小,从而可以被“正常”使用。 然而C++标准对于vector<bool>值有其特殊的实现方法。目的是为了减小空间的耗用。特殊版本内部只使用一个bit来存储一个元素,所以通常要比一般的bool值小8倍之多