std::forward_list<T,Allocator>:: resize
|
void
resize
(
size_type count
)
;
|
(1) |
(depuis C++11)
(constexpr depuis C++26) |
|
void
resize
(
size_type count,
const
value_type
&
value
)
;
|
(2) |
(depuis C++11)
(constexpr depuis C++26) |
Redimensionne le conteneur pour contenir count éléments :
- Si count est égal à la taille actuelle, ne fait rien.
- Si la taille actuelle est supérieure à count , le conteneur est réduit à ses premiers count éléments.
- Si la taille actuelle est inférieure à count , alors :
Table des matières |
Paramètres
| count | - | nouvelle taille du conteneur |
| value | - | la valeur pour initialiser les nouveaux éléments |
| Exigences de type | ||
|
-
|
||
Complexité
Linéaire dans la différence entre la taille actuelle et count . Complexité supplémentaire possible due au parcours de la liste pour atteindre le premier élément à effacer/la position finale à insérer.
Notes
Si l'initialisation par défaut dans la surcharge
(
1
)
est indésirable, par exemple si les éléments sont de type non-classe et que la mise à zéro n'est pas nécessaire, elle peut être évitée en fournissant un
personnalisé
Allocator::construct
.
Exemple
#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); }
Sortie :
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
Voir aussi
|
renvoie le nombre maximum possible d'éléments
(fonction membre publique) |
|
|
vérifie si le conteneur est vide
(fonction membre publique) |