STL中的bit_vector器皿
STL中的bit_vector容器
不知哪位兄台用过bit_vector容器,书上说bit_vector和vector是同用一个头文件,即#include<vector>.但是我在vc2008中加入了该头文件,但是在编译时显示bit_vector这种数据类型是未申明的标识符,我在vc6.0也试了一下,也识别不了这种向量型序列容器。不知哪位兄台用过,请教一下!!
------解决方案--------------------
vector<bool> bit_vector;?vector对bool类型进行了特化~~我没用过。
------解决方案--------------------
不知哪位兄台用过bit_vector容器,书上说bit_vector和vector是同用一个头文件,即#include<vector>.但是我在vc2008中加入了该头文件,但是在编译时显示bit_vector这种数据类型是未申明的标识符,我在vc6.0也试了一下,也识别不了这种向量型序列容器。不知哪位兄台用过,请教一下!!
------解决方案--------------------
vector<bool> bit_vector;?vector对bool类型进行了特化~~我没用过。
------解决方案--------------------
- C/C++ code
typedef unsigned int _Vbase; const int _VBITS = CHAR_BIT * sizeof (_Vbase); typedef allocator<_Vbase> _Bool_allocator; class vector<_Bool, _Bool_allocator> { public: //...略 }; typedef vector<_Bool, _Bool_allocator> _Bvector;
------解决方案--------------------
sgi版stl的东西
就是vector<bool>
------解决方案--------------------
会不会是缺少:using namespace std;
------解决方案--------------------
VC6要用的话包括头文件vector后,就可以用了:
- C/C++ code
std::_Bvector bv(10,true); bv.push_back(false); bv.push_back(true); bv[2]=bv[10]; cout<<typeid(bv[0]).name()<<'\n'; cout<<typeid(bv.begin()).name()<<'\n'; cout<<typeid(*(bv.begin())).name()<<'\n';