Пространства имён
Варианты
Действия

std::basic_string::insert

Материал из cppreference.com
< cpp‎ | string‎ | basic string
 
 
 
std::basic_string
Функции-члены
basic_string::basic_string
basic_string::operator=
basic_string::assign
basic_string::get_allocator
Доступ к элементам
basic_string::at
basic_string::operator[]
basic_string::front(C++11)
basic_string::back(C++11)
basic_string::data
basic_string::c_str
Итераторы
basic_string::begin
basic_string::cbegin

(C++11)
basic_string::end
basic_string::cend

(C++11)
basic_string::rbegin
basic_string::crbegin

(C++11)
basic_string::rend
basic_string::crend

(C++11)
Вместимость
basic_string::empty
basic_string::size
basic_string::length
basic_string::max_size
basic_string::reserve
basic_string::capacity
basic_string::shrink_to_fit(C++11)
Операции
basic_string::clear
basic_string::insert
basic_string::erase
basic_string::push_back
basic_string::pop_back(C++11)
basic_string::append
basic_string::operator+=
basic_string::compare
basic_string::replace
basic_string::substr
basic_string::copy
basic_string::resize
basic_string::swap
Поиск
basic_string::find
basic_string::rfind
basic_string::find_first_of
basic_string::find_first_not_of
basic_string::find_last_of
basic_string::find_last_not_of
Константы
basic_string::npos
Функции, не являющиеся членами
operator+
operator==
operator!=
operator<
operator>
operator<=
operator>=
swap(std::basic_string)
operator<<
operator>>
getline
stoi
stol
stoll
(C++11)
(C++11)
(C++11)
stoul
stoull
(C++11)
(C++11)
stof
stod
stold
(C++11)
(C++11)
(C++11)
to_string(C++11)
to_wstring(C++11)
Вспомогательные классы
hash<std::string>
hash<std::wstring>
hash<std::u32string>
hash<std::u16string>
(C++11)
 
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 );
template< class InputIt >

iterator insert( const_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 в позицию index
2) Вставляет строку с завершающим нулевым символом, на которую указывает s, в позицию index. Длина строки определяется по вхождению первого нулевого символа (фактически вызывает Traits::length(s)).
3) Вставляет первые count символов из строки, на которую указывает s, в позицию index. Строка s может содержать нулевые символы.
4) Вставляет строку str в позицию index
5) Вставляет строку, полученную с помощью str.substr(index_str, count), в позицию index
6) Вставляет символ ch перед символом в позиции pos
7) Вставляет count символов ch перед символом в позиции pos
8) Вставляет символы из диапазона [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 функция-член) [править]