std::forward_list<T,Allocator>:: resize
|
void
resize
(
size_type count
)
;
|
(1) |
(seit C++11)
(constexpr seit C++26) |
|
void
resize
(
size_type count,
const
value_type
&
value
)
;
|
(2) |
(seit C++11)
(constexpr seit C++26) |
Ändert die Größe des Containers, um count Elemente zu enthalten:
- Wenn count gleich der aktuellen Größe ist, erfolgt keine Aktion.
- Wenn die aktuelle Größe größer als count ist, wird der Container auf seine ersten count Elemente reduziert.
- Wenn die aktuelle Größe kleiner als count ist, dann:
Inhaltsverzeichnis |
Parameter
| count | - | neue Größe des Containers |
| value | - | der Wert, mit dem die neuen Elemente initialisiert werden |
| Typanforderungen | ||
|
-
|
||
Komplexität
Linear in der Differenz zwischen der aktuellen Größe und count . Zusätzliche Komplexität möglich aufgrund des Listen-Durchlaufs, um das erste zu löschende Element/die Endposition zum Einfügen zu erreichen.
Hinweise
Wenn die Wertinitialisierung in Überladung
(
1
)
unerwünscht ist, zum Beispiel wenn die Elemente von Nicht-Klassen-Typ sind und das Nullsetzen nicht benötigt wird, kann dies durch Bereitstellung eines
benutzerdefinierten
Allocator::construct
vermieden werden.
Beispiel
#include <forward_list> #include <iostream> void print(auto rem, const std::forward_list<int>& c) { for (std::cout << rem; const int el : c) std::cout << el << ' '; std::cout << '\n'; } int main() { std::forward_list<int> c = {1, 2, 3}; print("The forward_list holds: ", c); c.resize(5); print("After resize up to 5: ", c); c.resize(2); print("After resize down to 2: ", c); c.resize(6, 4); print("After resize up to 6 (initializer = 4): ", c); }
Ausgabe:
The forward_list holds: 1 2 3 After resize up to 5: 1 2 3 0 0 After resize down to 2: 1 2 After resize up to 6 (initializer = 4): 1 2 4 4 4 4
Siehe auch
|
gibt die maximal mögliche Anzahl von Elementen zurück
(öffentliche Elementfunktion) |
|
|
prüft, ob der Container leer ist
(öffentliche Elementfunktion) |