std::list<T,Allocator>:: resize
|
void
resize
(
size_type count
)
;
|
(1) | (constexpr seit C++26) |
|
void
resize
(
size_type count,
const
value_type
&
value
)
;
|
(2) | (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 .
Hinweise
Wenn die Wertinitialisierung in Überladung
(
1
)
unerwünscht ist, zum Beispiel wenn die Elemente von Nicht-Klassentyp sind und das Nullsetzen nicht benötigt wird, kann dies durch Bereitstellung eines
benutzerdefinierten
Allocator::construct
vermieden werden.
Beispiel
#include <list> #include <iostream> void print(auto rem, const std::list<int>& c) { for (std::cout << rem; const int el : c) std::cout << el << ' '; std::cout << '\n'; } int main() { std::list<int> c = {1, 2, 3}; print("The 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 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
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 132 | C++98 | Random-Access-Iteratoren wurden zur Bestimmung des Löschbereichs verwendet | Verwende bidirektionale Iteratoren |
| LWG 679 | C++98 |
resize()
übergab
value
als Wert
|
Übergibt als const-Referenz |
| LWG 1420 | C++98 | Das Verhalten von resize ( size ( ) ) war nicht spezifiziert | Spezifiziert |
Siehe auch
|
gibt die maximal mögliche Anzahl von Elementen zurück
(öffentliche Elementfunktion) |
|
|
gibt die Anzahl der Elemente zurück
(öffentliche Elementfunktion) |
|
|
prüft, ob der Container leer ist
(öffentliche Elementfunktion) |