C++11容器的insert怎么使用
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,本篇内容介绍了"C++11容器的insert怎么使用"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!从
千家信息网最后更新 2025年12月02日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安全错误
数据库的锁怎样保障安全
查看两个数据库重合率方法
互联网时代科技更新变化
801网络安全就业实训
宝鸡网络技术
网络安全应急处置操作指南
app和网页共用数据库
网络安全三个零的内容是什么
小牛软件开发有限公司招聘
数据库数据迁移中断怎么办
湟源租房软件开发
无锡加工软件开发代理商
泉州猎魔者软件开发公司
椒江网络安全培训
FO软件开发方法是什么
魔方网络安全技术
excel关键词数据库
能源行业网络安全白皮书
浅述网络安全产品
安之天检测芯片网络安全
平安科技跟平安互联网
设备类公司软件开发是什么样的
数据库技术高级的应用
恢复数据库实验报告
西安高新区软件开发公司电话
网络安全的股票怎么估值
旗舰版数据库服务器有误
有网络安全专业的大学
如何查看sql的数据库文件
项目管理软件开发文档
长治软件开发公司电话