c ++中的bitvectors和bitsets有什么区别?

时间:2013-02-26 04:43:33

标签: c++

两者之间是否存在明显的差异,使得某些人在某些情况下的使用比其他情况更实用?有人可以概述这里的差异以及两者的相关表现信息吗?

1 个答案:

答案 0 :(得分:0)

“bitvector”std::vector< bool >是堆上的动态大小的数组,它满足Container类的大多数要求。为此,它定义了一个时髦的iterator类,它按照棘手的代理对象设计模式返回reference个对象。

std::bitset是一个静态大小的数组,其存储内嵌于对象。它没有迭代器,只有访问运算符,如下标。

按位访问部分将执行类似的操作。 vector在创建和销毁时也会调用operator newoperator delete,并在必要时偶尔重新分配。