std::basic_string<CharT,Traits,Allocator>:: replace
|
basic_string
&
replace
(
size_type pos, size_type count,
const basic_string & str ) ; |
(1) | (constexpr начиная с C++20) |
|
basic_string
&
replace
(
const_iterator first, const_iterator last,
const basic_string & str ) ; |
(2) | (constexpr начиная с C++20) |
| (3) | ||
|
basic_string
&
replace
(
size_type pos, size_type count,
const
basic_string
&
str,
|
(до C++14) | |
|
basic_string
&
replace
(
size_type pos, size_type count,
const
basic_string
&
str,
|
(начиная с C++14)
(constexpr начиная с C++20) |
|
|
basic_string
&
replace
(
size_type pos, size_type count,
const CharT * cstr, size_type count2 ) ; |
(4) | (constexpr начиная с C++20) |
|
basic_string
&
replace
(
const_iterator first, const_iterator last,
const CharT * cstr, size_type count2 ) ; |
(5) | (constexpr начиная с C++20) |
|
basic_string
&
replace
(
size_type pos, size_type count,
const CharT * cstr ) ; |
(6) | (constexpr начиная с C++20) |
|
basic_string
&
replace
(
const_iterator first, const_iterator last,
const CharT * cstr ) ; |
(7) | (constexpr начиная с C++20) |
|
basic_string
&
replace
(
size_type pos, size_type count,
size_type count2, CharT ch ) ; |
(8) | (constexpr начиная с C++20) |
|
basic_string
&
replace
(
const_iterator first, const_iterator last,
size_type count2, CharT ch ) ; |
(9) | (constexpr начиная с C++20) |
|
template
<
class
InputIt
>
basic_string
&
replace
(
const_iterator first, const_iterator last,
|
(10) | (constexpr начиная с C++20) |
|
basic_string
&
replace
(
const_iterator first, const_iterator last,
std:: initializer_list < CharT > ilist ) ; |
(11) |
(начиная с C++11)
(constexpr начиная с C++20) |
|
template
<
class
StringViewLike
>
basic_string
&
replace
(
size_type pos, size_type count,
|
(12) |
(начиная с C++17)
(constexpr начиная с C++20) |
|
template
<
class
StringViewLike
>
basic_string
&
replace
(
const_iterator first, const_iterator last,
|
(13) |
(начиная с C++17)
(constexpr начиная с C++20) |
|
template
<
class
StringViewLike
>
basic_string
&
replace
(
size_type pos, size_type count,
|
(14) |
(начиная с C++17)
(constexpr начиная с C++20) |
Заменяет символы в диапазоне
[
begin
(
)
+
pos
,
begin
(
)
+
std::
min
(
pos
+
count, size
(
)
)
)
или
[
first
,
last
)
заданными символами.
[
cstr
,
cstr
+
count2
)
.
[
cstr
,
cstr
+
Traits
::
length
(
cstr
)
)
.
[
first2
,
last2
)
как если бы с помощью
replace
(
first, last, basic_string
(
first2, last2, get_allocator
(
)
)
)
.
std:: basic_string_view < CharT, Traits >> равно true и std:: is_convertible_v < const StringViewLike & , const CharT * > равно false .
std:: basic_string_view < CharT, Traits >> равно true и std:: is_convertible_v < const StringViewLike & , const CharT * > равно false .
Если
[
begin
(
)
,
first
)
или
[
first
,
last
)
не является
допустимым диапазоном
, поведение не определено.
Содержание |
Параметры
| pos | - | начало подстроки, которая будет заменена |
| count | - | длина подстроки, которая будет заменена |
| first, last | - | диапазон символов, который будет заменен |
| str | - | строка для замены |
| pos2 | - | начало подстроки для замены |
| count2 | - | количество символов для замены |
| cstr | - | указатель на строку символов для замены |
| ch | - | символьное значение для замены |
| first2, last2 | - | диапазон символов для замены |
| ilist | - | список инициализации с символами для замены |
| t | - | объект (преобразуемый в std::basic_string_view ) с символами для замены |
| Требования к типам | ||
-
InputIt
должен удовлетворять требованиям
LegacyInputIterator
.
|
||
Возвращаемое значение
* this .
Исключения
Если операция приведёт к тому, что
size()
превысит
max_size()
, выбрасывается
std::length_error
.
Если исключение выбрасывается по любой причине, эти функции не оказывают никакого эффекта ( strong exception safety guarantee ).
Пример
|
Этот раздел не завершён
Причина: отсутствует пример |
Отчеты о дефектах
Следующие отчеты об изменениях поведения, влияющие на дефекты, были применены ретроактивно к ранее опубликованным стандартам C++.
| DR | Применяется к | Поведение в опубликованной версии | Корректное поведение |
|---|---|---|---|
| LWG 847 | C++98 | гарантия безопасности исключений отсутствовала | добавлена строгая гарантия безопасности исключений |
| LWG 1323 | C++98 |
типы
first
и
last
были
iterator
|
изменены на
const_iterator
|
| LWG 2946 | C++17 | перегрузки (12,13) вызывали неоднозначность в некоторых случаях | устранено путем преобразования их в шаблоны |
Смотрите также
|
(C++23)
|
заменяет указанную часть строки диапазоном символов
(публичная функция-член) |
|
(C++11)
|
заменяет вхождения регулярного выражения форматированным текстом замены
(шаблон функции) |
|
заменяет все значения, удовлетворяющие определённым критериям, другим значением
(шаблон функции) |