std::inplace_vector<T,N>::resize
Depuis fr.cppreference.net
constexpr void resize( size_type count );
|
(1) | (depuis C++26) |
constexpr void resize( size_type count, const value_type& value );
|
(2) | (depuis C++26) |
Redimensionne le conteneur de manière à ce qu'il contienne count éléments ; ne fait rien si count == size().
Si la taille actuelle est plus grande que count, le conteneur est réduit à ses count premiers éléments.
Si la taille actuelle est plus petite que count, alors :
1) Des éléments supplémentaires insérés par défaut sont ajoutés.
2) Des copies supplémentaires de
value sont ajoutées.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 .
Exceptions
Si une exception est levée pour quelque raison que ce soit, ces fonctions n'ont aucun effet ( strong exception safety guarantee ).
Exemple
Exécuter ce code
#include <inplace_vector> #include <print> int main() { std::inplace_vector<int, 6> v(6, 9); std::println("Initialement, v = {}", v); v.resize(2); std::println("Après resize(2), v = {}", v); v.resize(4); std::println("Après resize(4), v = {}", v); v.resize(6, -1); std::println("Après resize(6, -1), v = {}", v); try { std::print("Tentative de resize(13) : "); v.resize(13); // lève une exception car count > N ; v reste inchangé } catch(const std::bad_alloc& ex) { std::println("ex.what() : {}", ex.what()); } std::println("Après l'exception, v = {}", v); }
Sortie possible :
Initialement, v = [9, 9, 9, 9, 9, 9] Après resize(2), v = [9, 9] Après resize(4), v = [9, 9, 0, 0] Après resize(6, -1), v = [9, 9, 0, 0, -1, -1] Tentative de resize(13) : ex.what() : std::bad_alloc Après l'exception, v = [9, 9, 0, 0, -1, -1]
Voir aussi
|
[static]
|
retourne le nombre maximum possible d'éléments
(fonction membre publique statique) |
|
retourne le nombre d'éléments
(fonction membre publique) |
|
|
[static]
|
retourne le nombre d'éléments pouvant être contenus dans le stockage actuellement alloué
(fonction membre publique statique) |
|
vérifie si le conteneur est vide
(fonction membre publique) |