猿问
下载APP

请问在string类中erase函数的实现怎样的?

string类中erase函数的实现怎样的


犯罪嫌疑人X
浏览 66回答 2
2回答

慕圣8478803

1.声明C++字符串声明字符串变量简单:string Str;我声明字符串变量既类构造函数析构函数面声明没传入参数所直接使用string默认构造函数函数所作Str初始化空字符串String类构造函数析构函数:a) string s; //空字符串sb) string s(str) //拷贝构造函数 str复制品c) string s(str,stridx) //字符串str内始于位置stridx部作字符串初值d) string s(str,stridx,strlen) //字符串str内始于stridx且度顶strlen部作字符串初值e) string s(cstr) //C字符串作s初值f) string s(chars,chars_len) //C字符串前chars_len字符作字符串s初值g) string s(num,c) //字符串包含numc字符h) string s(beg,end) //区间beg;end(包含end)内字符作字符串s初值i) s.~string() //销毁所字符释放内存都简单我解释2.字符串操作函数C++字符串重点我先各种操作函数罗列喜欢所函数都看完找自喜欢函数再面看详细解释a) =,assign() //赋新值b) swap() //交换两字符串内容c) +=,append(),push_back() //尾部添加字符d) insert() //插入字符e) erase() //删除字符f) clear() //删除全部字符g) replace() //替换字符h) + //串联字符串i) ==,!=,<,,>=,compare() //比较字符串j) size(),length() //返字符数量k) max_size() //返字符能数l) empty() //判断字符串否空m) capacity() //返重新配前字符容量n) reserve() //保留定量内存容纳定数量字符o) [ ], at() //存取单字符p) >>,getline() //stream读取某值q) << //谋值写入streamr) copy() //某值赋值C_strings) c_str() //内容C_string返t) data() //内容字符数组形式返u) substr() //返某字符串v)查找函数w)begin() end() //提供类似STL迭代器支持x) rbegin() rend() //逆向迭代器y) get_allocator() //返配置器

忽然笑

erase函数的原型如下:(1)string& erase (&nbsp;size_t&nbsp;pos = 0,&nbsp;size_t&nbsp;n = npos );(2)iterator erase ( iterator position );(3)iterator erase ( iterator first, iterator last );也就是说有三种用法:(1)erase(pos,n); 删除从pos开始的n个字符,比如erase(0,1)就是删除第一个字符(2)erase(position);删除position处的一个字符(position是个string类型的迭代器)(3)erase(first,last);删除从first到last之间的字符(first和last都是迭代器)示例代码:
打开App,查看更多内容
随时随地看视频慕课网APP
我要回答