std::basic_string::insert
Материал из cppreference.com
                    
                                        
                    < cpp | string | basic string
                    
                                                            
                    |   basic_string& insert( size_type index, size_type count, CharT ch );  | 
(1) | |
|   basic_string& insert( size_type index, const CharT* s );  | 
(2) | |
|   basic_string& insert( size_type index, const CharT* s, size_type count );  | 
(3) | |
|   basic_string& insert( size_type index, const basic_string& str );  | 
(4) | |
|   basic_string& insert( size_type index, const basic_string& str, size_type index_str, size_type count );  | 
(5) | |
|   iterator insert( iterator pos, CharT ch ); iterator insert( const_iterator pos, CharT ch );  | 
(6) |  (до C++11)  (начиная с C++11)  | 
|   void insert( iterator pos, size_type count, CharT ch ); iterator insert( iterator pos, size_type count, CharT ch );  | 
(7) |  (до C++11)  (начиная с C++11)  | 
|   template< class InputIt > void insert( iterator i, InputIt first, InputIt last );  | 
(8) |  (до C++11)  (начиная с C++11)  | 
|   iterator insert( const_iterator pos, std::initializer_list<CharT> ilist );  | 
(9) | (начиная с C++11) | 
Вставка символов в строку:
1) Вставляет 
count символов ch в позицию index2) Вставляет строку с завершающим нулевым символом, на которую указывает 
s, в позицию index. Длина строки определяется по вхождению первого нулевого символа (фактически вызывает Traits::length(s)).3) Вставляет первые 
count символов из строки, на которую указывает s, в позицию index. Строка s может содержать нулевые символы.4) Вставляет строку 
str в позицию index5) Вставляет строку, полученную с помощью str.substr(index_str, count), в позицию 
index6) Вставляет символ 
ch перед символом в позиции pos7) Вставляет 
count символов ch перед символом в позиции pos8) Вставляет символы из диапазона 
[first, last)9) Вставляет элементы из списка инициализации 
ilistСодержание | 
[править] Параметры
| index | - | позиция, в которую будут вставлены данные | 
| pos | - | итератор, перед которым будут вставлены данные | 
| ch | - | символ для вставки | 
| count | - | количество символов для вставки | 
| s | - | указатель на вставляемую строку символов | 
| str | - | строка для вставки | 
| first, last | - | диапазон, определяющий символы для вставки | 
| index_str | - |  позиция первого символа для вставки в строке str
 | 
| ilist | - | список инициализации из которого будет вставлены символы | 
| Требования к типам | ||
 -InputIt должен соответствовать требованиям InputIterator.
 | ||
[править] Возвращаемое значение
1-5) *this
6-9) итератор, следующий за последним вставленным символом
[править] Исключения
1) std::out_of_range, если index > size() и std::length_error, если size() + count > max_size().
2) std::out_of_range, если index > size() и std::length_error, если size() + Traits::length(s) > max_size().
3) std::out_of_range, если index > size() и std::length_error, если size() + count > max_size().
4) Генерирует исключение в следующих ситуациях:
a) std::out_of_range, если index > size().
b) std::length_error, если size() + str.size() > max_size(), где 
ins_count - количество символов, которое будет вставлено.5) Генерирует исключение в следующих ситуациях:
a) std::out_of_range, если index > size().
b) std::out_of_range, если index_str > str.size().
c) std::length_error, если size() + ins_count > max_size(), где 
ins_count - количество символов, которое будет вставлено.6-9) (Нет)
[править] См. также
|   добавляет символы в конец строки  (public функция-член)  | |
|   добавление символа в конец строки  (public функция-член)  | |