C++11容器的insert怎么使用
发表于:2025-01-24 作者:千家信息网编辑
千家信息网最后更新 2025年01月24日,本篇内容介绍了"C++11容器的insert怎么使用"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!从
千家信息网最后更新 2025年01月24日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安全错误
数据库的锁怎样保障安全
广州快修网络技术有限公司
三种数据库读取速度
网络波动服务器
关于服务器端口的设置
安徽服务器回收选哪家云服务器
网络安全教育主题教育内容摘要
方舟怎么自己开服务器呢
数据库变迁约束
义门陈数据库
计算机网络技术经典题型
wow服务器未建立角色
物联网app软件开发步骤
乌鲁木齐服务器专用空调批发
河南程序软件开发如何收费
超凡先锋一直卡住获取服务器界面
软件开发面试感言
2022黑魂3连接不到服务器
贵州毕节市软件开发公司
nodejs 缓存服务器
虎扑中国服务器
web服务器的安全方案
抖音霸屏软件开发公司
网络安全法中个人信息保护
上海荃够网络技术公司
云服务器服务费单位
sql数据库的功能
31周岁软件开发转行之路
西安多彩网络技术有限公司
临沂市兰山区软件开发公司
数据库的数据有哪些类型