erase(删除字符(串))
(1)basic_string& erase ( size_type __pos = 0, size_type __n = npos);
//删除从pos处开始的n个字符,pos默认为0,n默认为npos,函数返回值类型为string的引用,值为修改后的字符串
(2)iterator erase ( iterator __position );
//删除position处的一个字符,无默认值,函数返回值类型为string的迭代器,值为修改后字符串处的position
(3)iterator erase ( iterator __first, iterator __last );
//删除[first,last)间的字符,无默认值,函数返回值类型为string的迭代器,值为修改后字符串处的first
insert(插入字符(串))
(1)void insert(iterator __p, size_type __n, _CharT __c);
//在p处插入n个字符c
(2)void insert(iterator __p, _InputIterator __beg, _InputIterator __end);
//在p处插入[beg,end)之间的字符,beg和end要在同一个字符串内,和p可以不是同一个字符串
(3)void insert(iterator __p, initializer_list<_CharT> __l)
//initializer_list是C++11提供的新类型,用于表示某种特定类型的值的数组,和vector一样,initializer_list也是一种模板类型
(4)basic_string& insert(size_type __pos1, const basic_string& __str)
//在pos1处插入字符串str,返回值为修改后的字符串
(5)basic_string& insert(size_type __pos1, const basic_string& __str, size_type __pos2, size_type __n)
//在pos1位置插入字符串str从pos2开始的连续n个字符,返回值为修改后的字符串
(6)basic_string& insert(size_type __pos, const _CharT* __s, size_type __n);
//在pos1位置插入字符串s的前n个字符,返回值为修改后的字符串
(7)basic_string& insert(size_type __pos, const _CharT* __s)
//在pos位置插入字符串s,返回值为修改后的字符串
(8)basic_string& insert(size_type __pos, size_type __n, _CharT __c)
//在pos位置插入n个字符c,返回值为修改后的字符串
(9)iterator insert(iterator __p, _CharT __c)
//在p位置插入字符c,函数返回值类型为string的迭代器,值为修改后字符串处的p