C++11容器的insert怎么使用
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,本篇内容介绍了"C++11容器的insert怎么使用"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!从
千家信息网最后更新 2026年11月03日C++11容器的insert怎么使用
本篇内容介绍了"C++11容器的insert怎么使用"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
从C++98到C++11
C++98中的insert方法声明
iterator insert (iterator position,
const value_type& val);void insert (iterator position,
size_type n,
const value_type& val);template
void insert (iterator position,
InputIterator first,
InputIterator last);C++11中的insert方法
iterator insert (const_iterator position,
const value_type& val);iterator insert (const_iterator position,
size_type n,
const value_type& val);template
iterator insert (const_iterator position,
InputIterator first,
InputIterator last);iterator insert (const_iterator position,
value_type&& val);iterator insert (const_iterator position,
initializer_list il); 细节比较
添加单个元素
iterator insert (const_iterator position,
const value_type& val);唯一的变化就是position的参数类型由发生了变化,功能相同但增加了对const_iterator的支持。这种变化适用于所有的insert方法,下面就不再说明了。
填充多个元素
iterator insert (const_iterator position,
size_type n,
const value_type& val);这个方法可以在指定位置填充n个val。除了参数以外,方法的返回值从void变为iterator,返回最后一个添加的元素的位置。有了这个返回值,在同一个位置填充元素就会很方便。例如下面的代码:
std::list demo{1, 2, 3, 4, 5, 6};
auto position = std::find(demo.begin(), demo.end(), 3);
for(int i = 0; i < 5; ++i){
position = demo.insert(position, 2 , i);
}
for (int var: demo) {
std::cout << var << ",";
}
std::cout << endl; 在3的前面连续添加0,1,2,3,4。代码输出如下:
1,2,4,4,3,3,2,2,1,1,0,0,3,4,5,6,
以移动方式插入数据
iterator insert (const_iterator position,
value_type&& val);这个方法是C++11中追加的新方法,提供了对数据移动的支持。实例代码如下:
std::list strlist{"are", "you"};
std::string str("How");
strlist.insert(strlist.begin(), std::move(str));
for (auto var: strlist) {
std::cout << var << ",";
}
std::cout << endl;
std::cout << "str=" << str << endl;
输出结果为:
How,are,you,
str=
可以看到,str的内容从str中移除并插入到strlist中。
支持initializer_list
这个方法也是C++11中新追加的,提供对initializer_list的支持。示例代码如下:
strlist.insert(strlist.begin(), {"C++", "11"});
for (auto var: strlist) {
std::cout << var << ",";
}
std::cout << endl;在前面示例的基础上添加再次在list的开头插和"C++"和"11"两个字符串。执行结果如下:
C++,11,How,are,you,
"C++11容器的insert怎么使用"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!
方法
代码
元素
支持
位置
内容
变化
输出
容器
参数
数据
更多
知识
示例
结果
C++
移动
实用
相同
学有所成
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
手冲咖啡和咖啡机区别
互联网科技企业
互联网科技巨头监管
涨乐互联网科技
美国互联网科技巨头监管
万易互联网科技
互联网金融科技创新
广州互联网络科技有限公司
深圳艾佳互联网科技
科技互联网创业计划书
互联网科技生活的内容
互联网科技公司的市场部门
湖南一路畅行互联网科技
科技类公司包括互联网吗
浙南科技城互联网大厦建设工程
2021互联网科技公司排名
每天都有哪些好的互联网科技
互联网硬科技公司
亚光科技低轨卫星互联网
科技美学互联网 艺术
互联网与未来科技
浩特互联网科技
沃里互联网科技
苏州大垚互联网科技
深圳卡尔迅互联网科技有限公司怎么样
互联网科技公司的市场部门
福建科技产业互联网发展
互联网风格科技公司名称
互联网科技接地气
科技美学互联网 艺术