1.静态数组array,boost对静态数组进行了封装,使用和普通数组一样的初始化式进行初始化。
#include <iostream>
#include <boost/array.hpp>
using namespace std;
using namespace boost;
int main()
{
array<int,10> ar;
ar.back() = 10;
array<string,3> ar1 = {"tiger","dog","cat"};
return 0;
}
2.dynamic_bitset可以自由扩充二进制位的位数,可以自由进行位操作,还有一堆方便操作判断的函数。
#include <iostream>
#include <boost/dynamic_bitset.hpp>
using namespace std;
using namespace boost;
int main()
{
dynamic_bitset<> db1;
dynamic_bitset<> db2(10);
cout << db2 <<endl;
db2.resize(6,true);
cout << db2 <<endl;
dynamic_bitset<> db3(string("100010"));
cout << db3<<endl;
cout << (db2 ^ db3) <<endl;
cout << (db2 & db3) <<endl;
if (db2.none())
{
cout << "have no 1"<<endl;
}
return 0;
}
3.unordered和hash_set,hash_map一样底层使用哈希表代替二叉树,实现关联容器。
4.bimap双向map
#include <iostream>
#include <string>
#include <boost/bimap.hpp>
using namespace std;
using namespace boost;
int main()
{
bimap<int,string> bm;
bm.left.insert(make_pair(1,"111"));
bm.left.insert(make_pair(2,"222"));
bm.right.insert(make_pair("string",3));
bm.right.insert(make_pair("bimap",4));
for (bimap<int,string>::right_iterator it = bm.right.begin();it != bm.right.end();++it)
{
cout << it->second <<endl;
}
return 0;
}
5.any可以被初始化或者赋值任意类型的数据
#include <iostream>
#include <string>
#include <boost/any.hpp>
using namespace std;
using namespace boost;
int main()
{
any a(100);
a =string("char *");
//a = vector<vector<>int >();
return 0;
}
