内容: 在上一篇博客中,我记录了string的clear()的实际工作原理,接下来我们看看erase和clear()有哪些相似处呢?
测试一:其实erase()在不传入参数的时候,就是clear()了
我们先看下clear():
再看下erase()单个形参的情况:
分析:其实erase函数在不设置参数的时候,默认是0,那么此时调用_Eos(0),那么跟clear()函数的工作过程是一样的。那么_Xran()是什么呢?我们看一下:
分析:其实是非法形参的错误处理函数。
测试二:erase()的易错使用情况
分析:此时只剩下第一个字符了,因为如果erase()的第二个形参不输入,那么缺省是到末尾。那么就是从第N个开始,删除到结尾。
最后:贴上区间式erase()函数的原型
大三学生一枚,文章均非抄袭或者模仿,均为原创,仅代表个人观点,如果文章有错误的地方,欢迎在下方提出,每条评论我都会去认真看并回复,同时感谢指正的前辈。