STL中erase()的用法
erase()是STL提供的容器中比较常用的方法之一,它的功能是删除容器中的某些元素,其中它的函数原型如下:
1.有两个参数,且参数类型都是size_t型:
string& erase ( size_t pos = 0, size_t n = npos );
功能是:删除容器中从pos位置开始的n个元素。返回值是经过删除操作后的容器。
示例:
#include<iostream>
using namespace std;int main()
{string str = "hello world!";string::iterator it_1 = str.begin();string::iterator it_2 = str.begin() + 1;//用法1cout<<str.erase(0,1)<<endl;
}
结果:
(注:第一种erase用法是string容器所特有的,vectro和list等容器没有这种用法,更多erase的用法见:http://www.cplusplus.com/search.do?q=erase)
2.有一个参数,且参数类型为iterator:
iterator erase ( iterator position );
功能是:删除容器中position所指位置的元素。返回值是指向被删元素之后的那个元素(即下一个元素)的迭代器。
示例:
#include<iostream>
using namespace std;int main()
{string str = "hello world!";string::iterator it_1 = str.begin();string::iterator it_2 = str.begin() + 1;//用法2str.erase(it_1);cout<<str<<endl;
}
结果:
3.有两个参数,且参数类型都是iterator:
iterator erase ( iterator first, iterator last );
功能是:删除容器中first到last之间的所有元素(左闭右开),但不包括last所指的元素。(即删除fist~last -1所指的元素)返回值是一个迭代器,该迭代器指向last所指得的元素,可以理解为返回的就是last。
示例:
#include<iostream>
using namespace std;int main()
{string str = "hello world!";string::iterator it_1 = str.begin();string::iterator it_2 = str.begin() + 1;//用法3str.erase(it_1,it_2);cout<<str<<endl;
}
结果:
转载于:https://www.cnblogs.com/wangkundentisy/p/9023977.html
STL中erase()的用法相关推荐
- STL 中map的用法详解
STL 中map的用法详解 Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可 ...
- 关于STL中的map用法
STL中map用法详解 std map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力, ...
- C++的STL中accumulate的用法
accumulate定义在#include<numeric>中,作用有两个,一个是累加求和,另一个是自定义类型数据的处理 1.累加求和 int sum = accumulate(vec.b ...
- C++中erase的用法
erase一共三种用法: 1.erase(pos,n); 删除从下标pos开始的n个字符,比如erase(0,1)就是删除第一个字符 2.erase(position); 删除postion处的一个字 ...
- STL中bitset的用法的整理
构造函数 bitset<n> b; b有n位,每位都为0.参数n可以为一个表达式. 如bitset<5> b0;则"b0"为"00000&quo ...
- C++工作笔记-stl中map基础用法(插入,遍历,删除)
在最近一直在阅读xx项目,看到里面用到了map,读大学期间基本上从来没用到过这种stl(大学就用了Vector和list).下面对map敲如下代码: 运行截图如下: 代码如下: #include &l ...
- C++的STL中accumulate函数用法
accumulate(arr.begin(), arr.end(), int val); accumulate函数包含在 #include<numeric> 头文件下,其中有三个参数,前两 ...
- STL中map用法详解
Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候 ...
- [转] STL中map用法详解
一.Map概述 Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完 ...
最新文章
- usaco Home on the Range
- python装饰器教学_Python装饰器学习(九步入门)
- php 计算指定年份的周总数与及第几周的开始日期和结束日期(从周一开始)
- linux整个文件夹下全部文件的属性,C/C++遍历目录下的所有文件(Windows/Linux篇,超详细)...
- Mac下配置Android环境
- Vue学习笔记之05-条件判断
- asp.net 安装element ui_vue入门003~vue项目引入element并创建一个登录页面
- erlang 小程序:整数序列,搜索和为正的最长子序列
- Atitit 循环处理的新特性 for...else...
- python实现ncm转mp3_滚动歌词制作 之 ncm格式转mp3
- linux dns配置服务器报告,Linux DNS服务实验报告
- 【Python打卡2019】20190423之52周存钱挑战-for+range()函数使用
- android so 瘦身,Android APK 瘦身实践
- mysql删除通用日志_删除MySQL log bin 日志操作记录
- September 2006
- 携程2016校园招聘笔试题分析
- Recon-ng的简单使用(recon-ng v5.1.1)
- 计算机中rom,计算机中rom指的是内存还是外存
- 读书笔记:机器学习实战(2)——章3的决策树代码和个人理解与注释
- 民办二本学计算机,2020湖南最垃圾的民办大学-湖南最差的民办二本
热门文章
- Android Studio项目调用第三方库iconv
- web前端学习笔记之Node.js
- iPhone苹果手机相册怎么加密隐藏私密苹果iPhone手机相册照片?
- 懂java转python容易吗_Java转行学Python难不难?老男孩IT教育
- 用TypeScript来写React官方入门教程 .tsx后缀文件,同时入门typescript和React
- linux在tty3创建用户,我对linux理解之tty三
- 常见的对话框Dialog
- CharGPT无法替代的职场发展底层逻辑
- 视屏播放_使用原生MediaPlayer+TextureView实现全屏、小窗口、视频列表、m3u8监控播放
- ROS-Academy-for-Beginners依赖包报错问题