std::forward_list<T,Allocator>:: assign
|
void
assign
(
size_type count,
const
T
&
value
)
;
|
(1) |
(depuis C++11)
(constexpr depuis C++26) |
|
template
<
class
InputIt
>
void assign ( InputIt first, InputIt last ) ; |
(2) |
(depuis C++11)
(constexpr depuis C++26) |
|
void
assign
(
std::
initializer_list
<
T
>
ilist
)
;
|
(3) |
(depuis C++11)
(constexpr depuis C++26) |
Remplace le contenu du conteneur.
[
first
,
last
)
.
|
Cette surcharge a le même effet que la surcharge
(1)
si
|
(jusqu'en C++11) |
|
Cette surcharge participe à la résolution de surcharge uniquement si
|
(depuis C++11) |
Tous les itérateurs, pointeurs et références vers les éléments du conteneur sont invalidés.
Table des matières |
Paramètres
| count | - | la nouvelle taille du conteneur |
| value | - | la valeur pour initialiser les éléments du conteneur |
| first, last | - | la paire d'itérateurs définissant la plage source des éléments à copier |
| ilist | - | std::initializer_list depuis laquelle copier les valeurs |
Complexité
Exemple
Le code suivant utilise
assign
pour ajouter plusieurs caractères à une
std::
forward_list
<
char
>
:
#include <forward_list> #include <iostream> #include <string> int main() { std::forward_list<char> characters; auto print_forward_list = [&]() { for (char c : characters) std::cout << c << ' '; std::cout << '\n'; }; characters.assign(5, 'a'); print_forward_list(); const std::string extra(6, 'b'); characters.assign(extra.begin(), extra.end()); print_forward_list(); characters.assign({'C', '+', '+', '1', '1'}); print_forward_list(); }
Sortie :
a a a a a b b b b b b C + + 1 1
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 2209 | C++11 |
l'opération de remplacement devait être implémentée comme
une suppression de tous les éléments existants suivie d'une insertion des éléments donnés |
supprimé l'
exigence |
Voir aussi
|
(C++23)
|
assigne une plage de valeurs au conteneur
(fonction membre publique) |
|
assigne des valeurs au conteneur
(fonction membre publique) |