string函数_C++[06] string成员函数之删除函数erase

介绍一下删除函数erase,老方法,新建cpp文件,并找到string的erase成员函数,可以看到,erase有3个重载函数

6f637950d3bfc3b858237cfb18588870.png

右键转到定义,可以查看erase的源码

_Myt& erase(size_type _P0 = 0, size_type _M = npos){     if (_Len    _Split();   if (_Len - _P0    if (0 < _M)   {  _Tr::move(_Ptr + _P0, _Ptr + _P0 + _M,  _Len - _P0 - _M);      size_type _N = _Len - _M;      if (_Grow(_N))   _Eos(_N);   }   return (*this); }iterator erase(iterator _P){  size_t _M = _Pdif(_P, begin());   erase(_M, 1);   return (_Psum(_Ptr, _M));}iterator erase(iterator _F, iterator _L){  size_t _M = _Pdif(_F, begin());   erase(_M, _Pdif(_L, _F));   return (_Psum(_Ptr, _M)); }

可以看到,erase重载函数之间又有相互调用,下面看例子

string str = "Hello_World_Welcome";cout << "str -> " << str << endl;cout << "str.begin() -> " << str.begin() << "\tstr.end()-1 -> " << str.end()-1 << endl << endl ;cout << "iterator erase(iterator first, iterator last)" << endl;string::iterator iter = str.begin();iter = str.erase(str.begin()+5, str.end()-9);cout << "after str.erase(str.begin()+5, str.end()-9) -> " << str << endl << "return iter -> " << *iter << endl;str = "Hello_World_Welcome";iter = str.erase(str.begin()+3, str.end()-8);cout << "after str.erase(str.begin()+3, str.end()-8) -> " << str << endl << "return iter -> " << *iter << endl;cout << "############################" << endl << endl;cout << "string& erase(unsigned int strart_id, unsigned int end_id)" << endl;str = "Hello_World_Welcome";cout << "str.erase(6, 10)->" << str.erase(6, 10) << endl;str = "Hello_World_Welcome";cout << "str.erase(8, 13)->" << str.erase(8, 13) << endl;cout << "############################" << endl << endl;str = "Hello_World_Welcome";iter = str.erase(str.begin()+5);cout << "after str.erase(str.begin()+5) -> " << str << endl << "return iter -> " << *iter << endl;str = "Hello_World_Welcome";iter = str.erase(str.end()-10);cout << "after str.erase(str.end()-10) -> " << str << endl << "return iter -> " << *iter << endl;cout << "############################" << endl << endl;

查看运行结构

3fa038c5b34c4a78893653f3e620907b.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/244806.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

pc端jquery左右按钮控制带缩略图的图片切换代码_Web开发实用的图片预览插件,简单零依赖——PhotoSwipe...

介绍PhotoSwipe是一个JavaScript库&#xff0c;没有依赖项。要说唯一的依赖项那就是Vanilla.js(原生js),因此你可以在你的任何Web项目中使用&#xff0c;包括主流的Vue、React、Angular以及传统jQuery的项目。PhotoSwipe可以被用到各种大中小型项目当中&#xff0c;并且PC和移动…

怎么调试内存溢出的c++代码_【C/C++】内存对齐 到底怎么回事?

1 明确几个概念代码分区&#xff1a;在使用C/C编程时&#xff0c;我们定义的变量存在于内存中&#xff0c;而内存在C语言的角度上可以分为五大区。局部变量在栈区&#xff0c;静态/全局变量在全局区&#xff0c;动态申请的变量存在于堆区&#xff0c;const修饰的变量/字符常量存…

js粘贴板为什么获取不到图片信息_图床+typora,告别markdown中关于图片的困惑

在上一篇文章中向大家介紹了几款软件&#xff0c;这篇文章主要分享一下markdown编辑器typora软件如何使用图床&#xff0c;快速的将图片加载到markdown文档中。图床&#xff1a;指存储图片的服务器&#xff0c;将图片上传到服务器上&#xff0c;转换成链接为什么使用图床&#…

计算机二级mysql是什么_计算机二级mysql考什么内容?

计算机二级mysql考什么内容&#xff1f;一、基本概念与方法&#xff11;、数据库基础知识(1)数据库相关的基本概念(2)数据库系统的特点与结构(3)数据模型2、关系数据库、关系模型3、数据库设计基础(1)数据库设计的步骤(2)关系数据库设计的方法4、MySQL概述(1)MySQL系统特性与工…

eclipse软件有时会退出弹出一串错误弹框_修复iPhone上的iOS 13软件更新失败错误...

如果由于“软件更新失败&#xff1a;下载iOS 13时发生错误”错误而无法安装刚刚发布的用于检查新的暗模式功能的iOS 13更新&#xff0c;那么我可以理解这种挫败感。但幸运的是&#xff0c;有些解决方案可以尝试修复某些用户报告的iOS 13软件更新失败错误。解决iPhone 13软件失败…

mysql第四章分页显示查询出租房屋信息_MYSQL必知必会读书笔记第四章之检索数据...

MySQL是一种开放源代码的关系型数据库管理系统(RDBMS)&#xff0c;MySQL数据库系统使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库管理。使用Select语句返回的数据&#xff0c;可能会发现显示的数据会与其他的地方顺序不同。出现这种情况很正常。如果没有明确排序…

vep文件如何转换mp4_如何将DVD的vob视频格式转换成mp4格式

首先简述一下&#xff0c;VOB是DVD Video OBject的缩写&#xff0c;vob文件用来保存所有MPEG-2格式的音频和视频数据&#xff0c;这些数据不仅包含影片本身&#xff0c;而且还有供菜单和按钮用的画面以及多种字幕的子画面流。如何把视频vob格式转换成任意格式视频文件呢&#x…

esp8266接收到的数据如何存放到数组中_Java中HashMap的实现原理

最近面试中被问及Java中HashMap的原理&#xff0c;瞬间无言以对&#xff0c;因此痛定思痛觉得研究一番。一、Java中的hashCode和equals1、关于hashCodehashCode的存在主要是用于查找的快捷性&#xff0c;如Hashtable&#xff0c;HashMap等&#xff0c;hashCode是用来在散列存储…

python测试用例管理_Python测试框架Pytest的常用插件测试报告

原标题&#xff1a;Python测试框架Pytest的常用插件测试报告一、pytest-html 生成 html 测试报告 要求&#xff1a;Python 3.6 安装&#xff1a;pip install pytest-html 文档&#xff1a;https://github.com/pytest-dev/pytest-html、https://www.cnblogs.com/linuxchao/p/lin…

python symbol函数展开_QGIS表达式中的函数

编程语言中的函数&#xff0c;与数学函数的定义大不相同。在计算机领域&#xff0c;函数是指一段可以直接被另一段程序或代码引用的程序或代码&#xff0c;也叫做子程序(subroutine)、过程(procedure)、方法(method)。函数在QGIS表达式构建过程中起到重要作用&#xff0c;表达式…

layui 金额数据千分位_IG神秘打野韩服数据,盲僧数据或暗示英雄池问题

在LPL春季赛结束&#xff0c;而夏季赛还未开始的这段时间&#xff0c;是LPL各大战队能够利用的宝贵时间。为了备战S10&#xff0c;有一些队伍确实需要引援。而在这次转会期期间&#xff0c;率先出现转会传闻的是IG战队。据传IG打野Leyan有离队的可能&#xff0c;同时IG也在积极…

python设计模式pdf_精通Python设计模式 高清晰PDF+源码

精通Python设计模式讲述了16种基本设计模式&#xff0c;轻松解决软件设计常见问题&#xff1b;借力高效的Python语言&#xff0c;用现实例子展示各模式关键特性。 本书用实际生活中的例子带你了解常用的设计模式&#xff0c;介绍了诸多有关编写Python风格代码的底层细节和概念&…

datanode无法启动_Hadoop DataNode启动和初始化过程

简介我们先看DataNode的doc文档的介绍&#xff0c;DataNode是一个类&#xff0c;用于存储一组块&#xff0c;用于DFS部署。单个部署可以有一个或多个DataNode。每个DataNode通信定期与单个NameNode进行通信。它还可以与客户端和其他的DataNodes通信。DataNode存储一系列命名的块…

挖掘机燃料_2020广东挖掘机工程机械出租公司合作共赢

如今的挖掘机具有比以往更多的内置安全功能&#xff0c;但这并不意味着只有任何人都可以爬上驾驶室并安全操作。1、仔细检查地面区域使用挖掘机时&#xff0c;诸如岩石、建筑材料和树桩之类的物品会损害安全性。在开始操作机器之前&#xff0c;请确保已将其从该区域中清理。此外…

mysql对所有列的数据进行修改6_MySQL的SQL语句 - 数据定义语句(6)- ALTER TABLE 语句 (3)...

添加和删除列使用ADD向表中添加新列&#xff0c;使用DROP删除现有列。DROP col_name是对标准SQL的MySQL扩展。若要在表行的特定位置添加列&#xff0c;请使用FIRST col_name 或者 AFTER col_name。默认情况是添加到最后。如果表只包含一列&#xff0c;则不能删除该列。如果您想…

ant构建项目迁移到gradle_Gradle构建工具

构建工具的作用&#xff1a;依赖管理&#xff1b;测试、打包、发布&#xff1b;机器能干的活&#xff0c;绝不自己动手。主流构建工具&#xff1a;(1)Ant&#xff1a;编译、测试、打包&#xff1b;(2)Maven&#xff1a;依赖管理、发布&#xff1b;(3)Gradle&#xff1a;Groovy&…

mysql导入数据库某张表_MSSQLServer2005 导出导入数据库中某张表的数据

备注&#xff1a;在工作中我们经常会遇到&#xff0c;将数据库中某张数据表中的内容或数据导出来&#xff1b;今天我们就介绍怎样快速有效的进行数据导出&#xff0c;导入。使用的数据库版本为&#xff1a;mssqlserver2005。首先进行登录mssqlserver2005 &#xff0c;如下图所示…

pyecharts运行了但是没有图_新版pyecharts,Python可视化so easy and powerful !

作者&#xff1a;chenjiandongx一个执迷于写 bug 的程序员pyecharts V1.0.0 版本正式发布啦&#xff01;Whats New in pyecharts V1pyecharts 经过了半年的沉寂后&#xff0c;终于发布了新版本啦&#xff01;新版本号将从 v1.0.0 开始&#xff0c;这是一个全新的&#xff0c;向…

python 整除及余数_python除法余数

广告关闭 腾讯云11.11云上盛惠 &#xff0c;精选热门产品助力上云&#xff0c;云服务器首年88元起&#xff0c;买的越多返的越多&#xff0c;最高返5000元&#xff01; 常量常量就是不变的变量&#xff0c;在python中&#xff0c;通常用大写的变量名表示常量&#xff0c;这一点…

flatmap用法_短说:map和flatmap

PS:本文阅读->理解->GET大概2-5分钟.也许你天天见到,但是一直没理解,占用你少量的时间,相信简单的东西,只需要你付出一点点时间.map和flatmap是Java8中stream的用法.>>>>>>map把数组流中的每一个值&#xff0c;使用所提供的函数执行一遍&#xff0c;一…