C++11容器的insert怎么使用
发表于:2024-11-28 作者:千家信息网编辑
千家信息网最后更新 2024年11月28日,本篇内容介绍了"C++11容器的insert怎么使用"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!从
千家信息网最后更新 2024年11月28日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安全错误
数据库的锁怎样保障安全
计算机网络安全管理基础知识
网络安全级别越高是几级
济南创投项目管控软件开发平台
本地数据直接写入远程数据库
网络安全手抄报第一名高清
方舟服务器传送器能够传图吗
沈阳新松 软件开发
河北质量网络技术咨询
excel 与数据库的
提升网络安全素养主题班会
如何在成绩数据库中匹配成绩
许可证服务器管理参数
i5二代处理器软件开发
我的世界好莱坞服务器
计算机网络安全应用领域
科技互联网电视机
数据库彻底删除
网络安全的本质是保障吗
魔兽世界 rp服务器
校园网络安全小视频
计算机网络安全管理基础知识
番禺软件开发哪家专业
如何增强中学生网络安全意识
针灸百科软件开发者
方舟服务器管理面板
网络技术计算机三级试题
网站数据库怎么进入
败笔网络安全技术技巧
呼和浩特市软件开发
东莞考试软件开发外包