当前位置:嗨网首页>书籍在线阅读

16-插入方法

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

F.7.3 插入方法

insert()方法使得能够将string对象、字符串数组或几个字符插入到string对象中。这个方法与append()方法相似,但它还接受另一个指定插入位置的参数,该参数可以是位置,也可以是迭代器。数据将被插入到插入点的前面。有几种方法返回一个指向得到的字符串的引用。如果pos1超过了目标字符串结尾,或者pos2超过了要插入的字符串结尾,该方法将引发out_of_range异常。如果得到的字符串长于最大长度,该方法将引发length_error异常。下面是各种insert()方法的原型:

basic_string& insert(size_type pos1, const basic_string& str);
basic_string& insert(size_type pos1, const basic_string& str,
                     size_type pos2, size_type n);
basic_string& insert(size_type pos, const charT* s, size_type n);
basic_string& insert(size_type pos, const charT* s);
basic_string& insert(size_type pos, size_type n, charT c);
iterator insert(const_iterator p, charT c);
iterator insert(const_iterator p, size_type n, charT c);
template<class InputIterator>
  void insert(iterator p, InputIterator first, InputIterator last);
iterator insert(const_iterator p, initializer_list<charT>); // C++11

例如,下面的代码将字符串“former”字符串插入到“The banker.”中b的前面:

string st3("The banker.");
st3.insert(4, "former ");

而下面的代码将字符串“ waltzed”(不包括!,它是第9个字符)插入到“The former banker.”末尾的句号之前:

st3.insert(st3.size() - 1, " waltzed!", 8);