Initialisation du vecteur C ++ avec tous les zéros

Initialisation du vecteur C ++ avec tous les zéros
Initialiser un vecteur signifie donner au vecteur des éléments pratiques pendant la création. La création d'un vecteur peut être une définition ou une déclaration. La définition est lorsque la mémoire est allouée aux éléments. La déclaration a une nuance dans son sens: lorsqu'un vecteur est créé sans allocation de mémoire pour ses éléments, c'est une déclaration. Lorsque le vecteur est créé et que la mémoire est allouée à ses éléments, c'est également une déclaration. Dans d'autres mots, la déclaration a deux significations et cela peut signifier une définition.

Le vecteur est une classe de la bibliothèque vectorielle qui est incluse dans le programme. À partir de la même classe vectorielle, différents objets vectoriels peuvent être instanciés. La déclaration d'objet vectoriel sans allocation de mémoire pour les éléments est une instanciation. La déclaration d'objet vectoriel avec allocation de mémoire pour les éléments est toujours une instanciation.

Idéalement, l'initialisation est effectuée pendant l'instanciation. Cependant, lorsque la déclaration est effectuée sans allocation de mémoire pour les éléments, l'initialisation doit être effectuée en attribuant ou en poussant_back (dans), des valeurs initiales.

Ces informations donnent deux situations d'initialisation: initialisation avec la création de vecteur comme définition ou initialisation après déclaration sans définition par affectation (ou pushing_back).

La création de vecteurs peut être classée en deux catégories: création de vecteurs avec des éléments et la création de vecteurs sans éléments. L'objectif de cet article doit être interprété comme: comment créer un vecteur avec tous les éléments initiaux étant nul. Afin d'avoir un vecteur avec tous les éléments zéro, le type des éléments doit être int ou flottante ou leurs variantes. Nous utiliserons Type int dans cet article.

Initialisation à la création de vecteurs avec des éléments

Création avec initializer_list

Initializer_list est une liste de valeurs du même type séparée par des virgules, et délimitée par accolades. Il existe deux syntaxes pour créer un vecteur avec initializer_list. Les syntaxes sont:

vector & operator = (initializer_list)
et
vecteur (initialiseur_list, const Allocator & = allocator ())

Pour créer un vecteur avec tous les zéros, toutes les valeurs de l'initizize_list doivent tout simplement être des zéros. Le programme suivant l'illustre à l'aide de la première syntaxe où l'initialiseur_list est affecté à l'objet vectoriel avec l'opérateur d'affectation:

#inclure
#inclure
Utilisation de Namespace Std;
int main()

vectorvtr = 0, 0, 0, 0, 0;
pour (int i = 0; icouter<couter<retour 0;

La sortie est:

0 0 0 0 0

Dans l'en-tête du programme, la bibliothèque vectorielle a été incluse. La déclaration de vecteur se trouve dans la première instruction de la fonction principale. Le contenu vectoriel s'affiche au reste du code dans la fonction principale.

Pour la deuxième syntaxe, le deuxième paramètre est facultatif et ne sera pas inclus dans le programme suivant. Pour cette deuxième syntaxe, l'initizize_list est l'argument de la fonction du constructeur vectoriel. Le programme suivant illustre l'utilisation de la deuxième syntaxe:

#inclure
#inclure
Utilisation de Namespace Std;
int main()

vectorvtr (0, 0, 0, 0, 0);
pour (int i = 0; icouter<couter<retour 0;

La sortie est:

0 0 0 0 0

L'entrée était de cinq zéros, et la sortie est les mêmes cinq zéros.

Nombre d'éléments vectoriels connus à l'avance

Le nombre d'éléments vectoriels peut être connu à l'avance, mais les éléments réels peuvent ne pas être connus à l'avance. Dans ce cas, le vecteur doit toujours être initialisé en zéros. La syntaxe de création de vecteur pour ceci est:

vecteur (size_type n, const t & value, const allocator & = allocator ())

Le troisième paramètre est facultatif et ne fera pas partie du programme suivant. Le premier argument est le nombre d'éléments et le deuxième argument est la valeur par défaut, qui dans ce cas est nul pour tous les éléments. Le programme suivant montre comment utiliser cette syntaxe pour une taille de vecteur de 5:

#inclure
#inclure
Utilisation de Namespace Std;
int main()

VectorVtr (5, 0);
pour (int i = 0; icouter<couter<retour 0;

La sortie est:

0, 0, 0, 0, 0

Initialisation après la création du vecteur sans éléments

Ici, un vecteur vide est créé avant l'initialisation. La syntaxe pour créer un vecteur vide est:

vector () noExcept (noExcept (allocator ())): vector (allocator ())

La syntaxe pour attribuer des valeurs initiales à un vecteur avec le initializer_list, est:

void Assign (initializer_list)

Le programme suivant crée un vecteur vide puis attribue des zéros aux éléments:

#inclure
#inclure
Utilisation de Namespace Std;
int main()

VectorVtr;
vtr.attribution (0, 0, 0, 0, 0);
pour (int i = 0; icouter<couter<retour 0;

La sortie est:

0 0 0 0 0

La première instruction de la fonction principale crée le vecteur vide. La deuxième instruction est l'initialisation à l'aide de la fonction membre Assign (). L'argument de la fonction de membre Assign () est le initializer_list avec chaque élément en zéro.

La syntaxe pour attribuer des valeurs par défaut à un vecteur, lorsque le nombre d'éléments est connu à l'avance, est:

void Assign (size_type n, const t & u);

Avec cette syntaxe, le premier argument est le nombre d'éléments dans le vecteur, et le deuxième argument est la valeur par défaut. Pour l'initialisation avec des zéros, faites simplement la valeur par défaut zéro. N'oubliez pas que cela doit être fait lorsqu'un vecteur vide a été créé. Le programme suivant illustre ceci:

#inclure
#inclure
Utilisation de Namespace Std;
int main()

VectorVtr;
vtr.attribuer (5, 0);
pour (int i = 0; icouter<couter<retour 0;

La sortie est:

0 0 0 0 0

Repoussant

Une fois qu'un vecteur vide a été créé, un certain nombre de zéros peuvent être poussés dans le vecteur pour l'initialisation comme illustré dans le programme suivant:

#inclure
#inclure
Utilisation de Namespace Std;
int main()

VectorVtr;
vtr.push_back (0); vtr.push_back (0); vtr.push_back (0);
vtr.push_back (0); vtr.push_back (0);
pour (int i = 0; icouter<couter<retour 0;

La sortie est:

0 0 0 0 0

Vecteur de valeurs de type par défaut et d'initialisation

Si le nombre d'éléments est connu à l'avance, alors sans indiquer les valeurs, les valeurs par défaut du type seront les valeurs initiales. La valeur par défaut pour le type int est zéro. La syntaxe pour la création d'un tel vecteur est:

vecteur explicite (size_type n, const allocator & = allocator ())

Le deuxième argument est facultatif et peut être omis. Le premier argument est la taille du vecteur. Si le type de vecteur est int, les valeurs initiales seront toutes zéros. Le programme suivant illustre ceci:

#inclure
#inclure
Utilisation de Namespace Std;
int main()

VectorVtr (5);
pour (int i = 0; icouter<couter<retour 0;

La sortie est:

0 0 0 0 0

Conclusion

La taille du vecteur dans tous les échantillons de code ci-dessus est 5. Tout autre numéro peut être utilisé. Un vecteur peut être initialisé avec tous les zéros de trois manières principales: a) Utilisez le initializer_list, b) Utilisez la fonction de membre Vector Assign () sur un vecteur vide (ou push_back ()), ou c) Utilisez int ou float comme modèle Spécialisation des paramètres pour un vecteur de valeurs par défaut initialement uniquement.