std::basic_string<CharT,Traits,Allocator>:: replace
|
basic_string
&
replace
(
size_type pos, size_type count,
const basic_string & str ) ; |
(1) | (constexpr depuis C++20) |
|
basic_string
&
replace
(
const_iterator first, const_iterator last,
const basic_string & str ) ; |
(2) | (constexpr depuis C++20) |
| (3) | ||
|
basic_string
&
replace
(
size_type pos, size_type count,
const
basic_string
&
str,
|
(jusqu'en C++14) | |
|
basic_string
&
replace
(
size_type pos, size_type count,
const
basic_string
&
str,
|
(depuis C++14)
(constexpr depuis C++20) |
|
|
basic_string
&
replace
(
size_type pos, size_type count,
const CharT * cstr, size_type count2 ) ; |
(4) | (constexpr depuis C++20) |
|
basic_string
&
replace
(
const_iterator first, const_iterator last,
const CharT * cstr, size_type count2 ) ; |
(5) | (constexpr depuis C++20) |
|
basic_string
&
replace
(
size_type pos, size_type count,
const CharT * cstr ) ; |
(6) | (constexpr depuis C++20) |
|
basic_string
&
replace
(
const_iterator first, const_iterator last,
const CharT * cstr ) ; |
(7) | (constexpr depuis C++20) |
|
basic_string
&
replace
(
size_type pos, size_type count,
size_type count2, CharT ch ) ; |
(8) | (constexpr depuis C++20) |
|
basic_string
&
replace
(
const_iterator first, const_iterator last,
size_type count2, CharT ch ) ; |
(9) | (constexpr depuis C++20) |
|
template
<
class
InputIt
>
basic_string
&
replace
(
const_iterator first, const_iterator last,
|
(10) | (constexpr depuis C++20) |
|
basic_string
&
replace
(
const_iterator first, const_iterator last,
std:: initializer_list < CharT > ilist ) ; |
(11) |
(depuis C++11)
(constexpr depuis C++20) |
|
template
<
class
StringViewLike
>
basic_string
&
replace
(
size_type pos, size_type count,
|
(12) |
(depuis C++17)
(constexpr depuis C++20) |
|
template
<
class
StringViewLike
>
basic_string
&
replace
(
const_iterator first, const_iterator last,
|
(13) |
(depuis C++17)
(constexpr depuis C++20) |
|
template
<
class
StringViewLike
>
basic_string
&
replace
(
size_type pos, size_type count,
|
(14) |
(depuis C++17)
(constexpr depuis C++20) |
Remplace les caractères dans la plage
[
begin
(
)
+
pos
,
begin
(
)
+
std::
min
(
pos
+
count, size
(
)
)
)
ou
[
first
,
last
)
par les caractères donnés.
[
pos2
,
std::
min
(
pos2
+
count2, str.
size
(
)
)
)
de
str
.
[
cstr
,
cstr
+
count2
)
.
[
cstr
,
cstr
+
Traits
::
length
(
cstr
)
)
.
[
first2
,
last2
)
comme par
replace
(
first, last, basic_string
(
first2, last2, get_allocator
(
)
)
)
.
std:: basic_string_view < CharT, Traits >> est true et std:: is_convertible_v < const StringViewLike & , const CharT * > est false .
std:: basic_string_view < CharT, Traits >> est true et std:: is_convertible_v < const StringViewLike & , const CharT * > est false .
Si
[
begin
(
)
,
first
)
ou
[
first
,
last
)
n'est pas un
intervalle valide
, le comportement est indéfini.
Table des matières |
Paramètres
| pos | - | début de la sous-chaîne qui va être remplacée |
| count | - | longueur de la sous-chaîne qui va être remplacée |
| first, last | - | plage de caractères qui va être remplacée |
| str | - | chaîne à utiliser pour le remplacement |
| pos2 | - | début de la sous-chaîne de remplacement |
| count2 | - | nombre de caractères à utiliser pour le remplacement |
| cstr | - | pointeur vers la chaîne de caractères à utiliser pour le remplacement |
| ch | - | valeur du caractère à utiliser pour le remplacement |
| first2, last2 | - | plage de caractères à utiliser pour le remplacement |
| ilist | - | liste d'initialisation avec les caractères à utiliser pour le remplacement |
| t | - | objet (convertible en std::basic_string_view ) avec les caractères à utiliser pour le remplacement |
| Exigences de type | ||
-
InputIt
doit satisfaire aux exigences de
LegacyInputIterator
.
|
||
Valeur de retour
* this .
Exceptions
Si l'opération devait entraîner le dépassement de
size()
au-delà de
max_size()
, lève
std::length_error
.
Si une exception est levée pour quelque raison que ce soit, ces fonctions n'ont aucun effet ( strong exception safety guarantee ).
Exemple
|
Cette section est incomplète
Raison : aucun exemple |
Rapports de défauts
Les rapports de défauts modifiant le comportement suivants ont été appliqués rétroactivement aux normes C++ précédemment publiées.
| DR | Appliqué à | Comportement publié | Comportement corrigé |
|---|---|---|---|
| LWG 847 | C++98 | aucune garantie de sécurité des exceptions n'était présente | garantie de sécurité forte des exceptions ajoutée |
| LWG 1323 | C++98 |
les types de
first
et
last
étaient
iterator
|
modifiés en
const_iterator
|
| LWG 2946 | C++17 | les surcharges (12,13) provoquaient une ambiguïté dans certains cas | évitée en les rendant templates |
Voir aussi
|
(C++23)
|
remplace une partie spécifiée d'une chaîne par une plage de caractères
(fonction membre publique) |
|
(C++11)
|
remplace les occurrences d'une expression régulière par un texte de remplacement formaté
(modèle de fonction) |
|
remplace toutes les valeurs satisfaisant des critères spécifiques par une autre valeur
(modèle de fonction) |