为了展示如何用算法向容器写入数据,我们现在将使用back_inserter,它是定义在头文件iterator中的一个函数。

back_inserter接受一个指向容器的引用,返回一个与该容器绑定的插入迭代器。当我们通过迭代器赋值时,赋值运算符会调用push_back将一个具有给定值的元素添加到容器中:

vector<int> vec; //空向量

auto it = back_inserter(vec); //通过它赋值将元素添加到vec中

*it = 42 //vec中现在有一个元素,值为42

我们常常使用back_inserter来创建一个迭代器,作为算法的目的位置来使用。例如:

vector<int> vec;

fill_n(back_inserter(vec), 10, 0); //添加10个元素到vec

注:来源于c++ primer第5版,第10章。

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐