使用boost:assign需要包含头文件
#include<boost/assign.hpp>
然后在使用之前声明命名空间
using namespace boost::assign;
boost::assign重载了加等于(+=),逗号(,),小括号(())运算符,还有
list_of(),map_list_of(),tuple_list_of()等函数用于初始化的时候就赋值,这些运算符和函数都是返回一个boost中的类list_inserter,所以它们可以向std::cout一样级连使用。另外还有push_front(),push_back(),insert()这三个函数用于插入元素,前提是相应的sol容器中要有这些成员函数。
- 初始化
使用list_of()对vector list初始化
using namespace boost:assign;
std::vector<int> v = list_of(1)(2)(3)(4);
//后面的(2)(3)(4)是重复使用operator().
使用map_list_of()对map初始化
using namespace boost:assign;
std::map<string,string> m = map_list_of("name","eagle")("age","18");
- 插入元素
使用operator+= operator, push_back() push_front() insert()
using namespace boost:assign;
std::vector<int> v;
v += 1,2,3,4,5;
push_back(v)(6)(7)(8);
using namespace boost:assign;
std::list<int> lst;
push_front(let)(1)(3)(5)(7);
using namespace boost:assign;
std::map<string,string> m;
insert(m)("name","eagle")("age","18");