std::vector::vector — cppreference.com
De cppreference.com
<tbody> </tbody>
|
|
(1) | |
|
|
(2) | (avant C++11) (depuis C++11) |
|
|
(3) | (depuis C++11) |
|
|
(4) | |
|
|
(5) | |
|
|
(5) | (depuis C++11) |
|
|
(6) | (depuis C++11) |
|
|
(6) | (depuis C++11) |
|
|
(7) | (depuis C++11) |
Construit un nouveau conteneur depuis différentes sources de données et en utilisant éventuellement un allocateur alloc.
1) Constructeur par défaut. Construit un conteneur vide.
2) Construit le conteneur avec count copies de value.
3) Construit le conteneur avec count instances de T initialisées par valeur (constructeur par défaut pour les classes). Aucune copie n'est effectuée.
4) Construit le conteneur avec les éléments de [first, last).
5) Constructeur par copie. Construit le conteneur avec la copie des éléments de other. Si alloc n'est pas fourni, l'allocateur est obtenue en appelant std::allocator_traits<allocator_type>::select_on_copy_construction(other).
6) Constructeur par déplacement. Construit le conteneur avec le contenu de other en déplaçant les éléments. Si alloc n'est pas fourni, il est obtenu en utilisant le constructeur par déplacement de l'allocateur appartenant à other.
7) Construit le conteneur avec le contenu de la liste d'initialisation init.
Paramètres
| alloc | - | allocateur à utiliser pour toutes les allocations mémoire de ce conteneur |
| count | - | la taille du conteneur |
| value | - | la valeur d'initialisation des éléments du conteneur |
| first, last | - | la plage d'éléments à copier |
| other | - | un autre conteneur utilisé pour initialiser les éléments du conteneur |
| init | - | une liste d'initialisation utilisée pour initialiser les éléments du conteneur |
| Type requirements | ||
-InputIt must meet the requirements of InputIterator.
| ||
Complexité
1) Constant
2-3) Linéaire selon count
4) Linéaire selon la distance entre first et last
5) Linéaire selon la taille de other
6) Constant. Si alloc est donné et alloc != other.get_allocator(), alors linéaire.
7) Linéaire selon la taille de init
Exemple
#include <vector> #include <string> int main() { // Liste d'initialisation c++11: std::vector<std::string> mots1 {"le", "frogurt", "est", "aussi", "maudit"}; // mots2 == mots1 std::vector<std::string> mots2(mots1.begin(), mots1.end()); // mots3 == mots1 std::vector<std::string> mots3(mots1); // mots4 contient : {"Mo", "Mo", "Mo", "Mo", "Mo"} std::vector<std::string> mots4(5, "Mo"); return 0; }
Voir aussi
|
Attribue les valeurs dans le conteneur | |
| Attribue les valeurs dans le conteneur (fonction membre publique) [edit] | |