std::forward_list<T,Allocator>:: assign
|
void
assign
(
size_type count,
const
T
&
value
)
;
|
(1) |
(seit C++11)
(constexpr seit C++26) |
|
template
<
class
InputIt
>
void assign ( InputIt first, InputIt last ) ; |
(2) |
(seit C++11)
(constexpr seit C++26) |
|
void
assign
(
std::
initializer_list
<
T
>
ilist
)
;
|
(3) |
(seit C++11)
(constexpr seit C++26) |
Ersetzt den Inhalt des Containers.
[
first
,
last
)
.
|
Diese Überladung hat denselben Effekt wie Überladung
(1)
, wenn
|
(bis C++11) |
|
Diese Überladung nimmt nur an der Überladungsauflösung teil, wenn
|
(seit C++11) |
Alle Iteratoren, Zeiger und Referenzen auf die Elemente des Containers werden ungültig.
Inhaltsverzeichnis |
Parameter
| count | - | die neue Größe des Containers |
| value | - | der Wert zur Initialisierung der Elemente des Containers |
| first, last | - | das Iteratorpaar, das den Quell- Bereich der zu kopierenden Elemente definiert |
| ilist | - | std::initializer_list zum Kopieren der Werte |
Komplexität
Beispiel
Der folgende Code verwendet
assign
, um mehrere Zeichen zu einer
std::
forward_list
<
char
>
hinzuzufügen:
#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(); }
Ausgabe:
a a a a a b b b b b b C + + 1 1
Fehlerberichte
Die folgenden verhaltensändernden Fehlerberichte wurden rückwirkend auf zuvor veröffentlichte C++-Standards angewendet.
| DR | Angewendet auf | Verhalten wie veröffentlicht | Korrigiertes Verhalten |
|---|---|---|---|
| LWG 2209 | C++11 |
der Ersetzungsvorgang musste implementiert werden als
Löschen aller vorhandenen Elemente gefolgt vom Einfügen der gegebenen Elemente |
die Anforderung
wurde entfernt |
Siehe auch
|
(C++23)
|
weist dem Container einen Wertebereich zu
(öffentliche Elementfunktion) |
|
weist dem Container Werte zu
(öffentliche Elementfunktion) |