在C++中,Container Adapters是一种特殊的容器,它们通过使用其他容器来提供特定功能。其中之一是back_insert_iterator,它允许向容器的末尾插入元素。
以下是一个使用back_insert_iterator的示例代码:
#include <iostream>
#include <vector>
#include <iterator>
#include <algorithm>
int main() {
std::vector<int> vec;
std::back_insert_iterator<std::vector<int>> backIt(vec);
*backIt = 1; // 等同于 vec.push_back(1);
backIt = 2; // 等同于 vec.push_back(2);
backIt = 3; // 等同于 vec.push_back(3);
std::copy(vec.begin(), vec.end(), std::ostream_iterator<int>(std::cout, " "));
std::cout << std::endl;
return 0;
}
在这个示例中,我们首先创建了一个空的vector容器vec。然后,通过使用std::back_insert_iterator类,我们将vec容器与backIt迭代器关联起来。
接下来,我们可以使用*backIt语法向vec容器的末尾插入元素。例如,*backIt = 1;等同于vec.push_back(1);。
最后,我们使用std::copy算法将vec容器中的元素输出到标准输出流std::cout。
运行此示例代码,输出应为:1 2 3。这证明我们成功地使用back_insert_iterator将元素插入到容器的末尾。