back_inserter通过push_back在容器末尾插入,front_inserter通过push_front在开头插入,前者适用于vector等,后者仅用于list、deque等支持前端插入的容器。

在C++中,back_inserter 和 front_inserter 是用于向容器中插入元素的迭代器适配器,它们通常与算法(如
copy
transform
back_inserter 会创建一个输出迭代器,每次赋值时调用容器的
push_back()
适用于支持
push_back()
vector
list
deque
使用步骤:
立即学习“C++免费学习笔记(深入)”;
<iterator>
back_inserter(container)
示例:
#include <vector>
#include <algorithm>
#include <iterator>
#include <iostream>
int main() {
std::vector<int> src = {1, 2, 3};
std::vector<int> dst;
std::copy(src.begin(), src.end(), back_inserter(dst));
for (int x : dst) {
std::cout << x << " ";
}
// 输出:1 2 3
}
front_inserter 创建一个输出迭代器,每次赋值时调用容器的
push_front()
仅适用于支持
push_front()
list
deque
示例:
#include <list>
#include <algorithm>
#include <iterator>
#include <iostream>
int main() {
std::list<int> src = {1, 2, 3};
std::list<int> dst;
std::copy(src.begin(), src.end(), front_inserter(dst));
for (int x : dst) {
std::cout << x << " ";
}
// 输出:3 2 1(因为每次插入到前面)
}
两者都定义在
<iterator>
它们不会覆盖原有元素,而是通过容器的成员函数动态添加,因此目标容器可以初始为空。
常见错误:
vector
front_inserter
push_front
<iterator>
front_inserter
以上就是C++如何使用back_inserter和front_inserter插入元素的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号