Inizializzazione vettoriale C ++ con tutti gli zeri

Inizializzazione vettoriale C ++ con tutti gli zeri
Inizializzazione di un vettore significa dare gli elementi pratici del vettore durante la creazione. La creazione di un vettore può essere una definizione o una dichiarazione. La definizione è quando la memoria viene assegnata per gli elementi. La dichiarazione ha una sfumatura nel suo significato: quando un vettore viene creato senza allocazione della memoria per i suoi elementi, ovvero la dichiarazione. Quando viene creato il vettore e la memoria viene assegnata per i suoi elementi, questa è anche una dichiarazione. In altre parole, la dichiarazione ha due significati e può significare una definizione.

Il vettore è una classe nella libreria vettoriale inclusa nel programma. Dalla stessa classe vettoriale, possono essere istanziati diversi oggetti vettoriali. La dichiarazione di oggetti vettoriali senza allocazione della memoria per gli elementi è l'istanza. La dichiarazione di oggetti vettoriali con allocazione della memoria per gli elementi è ancora istanziata.

Idealmente, l'inizializzazione viene eseguita durante l'istanza. Tuttavia, quando la dichiarazione viene eseguita senza l'allocazione della memoria per gli elementi, è necessario eseguire l'inizializzazione assegnando o spingendo_back (in), valori iniziali.

Queste informazioni forniscono due situazioni per l'inizializzazione: inizializzazione con la creazione vettoriale come definizione o inizializzazione dopo la dichiarazione senza definizione per assegnazione (o spingendo_back in).

La creazione di vettoriali può essere classificata in due categorie: creazione vettoriale con elementi e creazione vettoriale senza elementi. L'obiettivo di questo articolo deve essere interpretato come: come creare un vettore con tutti gli elementi iniziali zero. Per avere un vettore con tutti gli elementi zero, il tipo di elementi deve essere int o galleggiare o le loro varianti. Utilizzeremo il tipo Int in questo articolo.

Inizializzazione alla creazione vettoriale con elementi

Creazione con inizializer_list

Initializer_List è un elenco di valori dello stesso tipo separati dalle virgole e delimitati da Braces. Esistono due sintassi per la creazione di un vettore con inizializer_list. Le sintassi sono:

Vector & Operator = (Initializer_List)
E
Vector (inizializer_list, const allocatore & = allocatore ())

Per creare un vettore con tutti i zero, tutti i valori in inizialezer_list dovrebbero essere semplicemente zeri. Il seguente programma illustra questo utilizzando la prima sintassi in cui l'Initializer_List è assegnato all'oggetto vettoriale con l'operatore di assegnazione:

#includere
#includere
Utilizzo dello spazio dei nomi std;
int main ()

vectorvtr = 0, 0, 0, 0, 0;
per (int i = 0; icout<cout<restituzione 0;

L'output è:

0 0 0 0 0

Nell'intestazione del programma, la libreria vettoriale è stata inclusa. La dichiarazione vettoriale si trova nella prima dichiarazione nella funzione principale. Il contenuto vettoriale viene visualizzato nel resto del codice nella funzione principale.

Per la seconda sintassi, il secondo parametro è facoltativo e non sarà incluso nel seguente programma. Per questa seconda sintassi, inizializer_list è l'argomento della funzione del costruttore vettoriale. Il seguente programma illustra l'uso della seconda sintassi:

#includere
#includere
Utilizzo dello spazio dei nomi std;
int main ()

vectorVtr (0, 0, 0, 0, 0);
per (int i = 0; icout<cout<restituzione 0;

L'output è:

0 0 0 0 0

L'ingresso era di cinque zeri e l'output è gli stessi cinque zeri.

Numero di elementi vettoriali noti in anticipo

Il numero di elementi vettoriali può essere noto in anticipo, ma gli elementi effettivi potrebbero non essere conosciuti in anticipo. In questo caso, il vettore dovrebbe essere ancora inizializzato su zeri. La sintassi della creazione vettoriale per questo è:

vector (size_type n, const t & value, const allocatore & = allocator ())

Il terzo parametro è facoltativo e non farà parte del seguente programma. Il primo argomento è il numero di elementi e il secondo argomento è il valore predefinito, che in questo caso è zero per tutti gli elementi. Il seguente programma mostra come utilizzare questa sintassi per una dimensione vettoriale di 5:

#includere
#includere
Utilizzo dello spazio dei nomi std;
int main ()

vectorvtr (5, 0);
per (int i = 0; icout<cout<restituzione 0;

L'output è:

0, 0, 0, 0, 0

Inizializzazione dopo creazione vettoriale senza elementi

Qui, viene creato un vettore vuoto prima dell'inizializzazione. La sintassi per creare un vettore vuoto è:

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

La sintassi per assegnare i valori iniziali a un vettore con inizializer_list, è:

void Assemment (inizializer_list)

Il seguente programma crea un vettore vuoto e quindi assegna zeri agli elementi:

#includere
#includere
Utilizzo dello spazio dei nomi std;
int main ()

vectorvtr;
VTR.assegnare (0, 0, 0, 0, 0);
per (int i = 0; icout<cout<restituzione 0;

L'output è:

0 0 0 0 0

La prima affermazione nella funzione principale crea il vettore vuoto. La seconda istruzione è l'inizializzazione utilizzando la funzione membro Assegna (). L'argomento della funzione membro ASSEGNA () è inizializer_list con ciascun elemento in zero.

La sintassi per assegnare i valori predefiniti a un vettore, quando il numero di elementi è noto in anticipo, è:

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

Con questa sintassi, il primo argomento è il numero di elementi nel vettore e il secondo argomento è il valore predefinito. Per l'inizializzazione con gli zeri, basta creare il valore predefinito zero. Ricorda che questo deve essere fatto quando è stato creato un vettore vuoto. Il seguente programma illustra questo:

#includere
#includere
Utilizzo dello spazio dei nomi std;
int main ()

vectorvtr;
VTR.assegnare (5, 0);
per (int i = 0; icout<cout<restituzione 0;

L'output è:

0 0 0 0 0

Spingendo indietro

Dopo che è stato creato un vettore vuoto, qualsiasi numero di zeri può essere spinto_backing nel vettore per l'inizializzazione come illustrato nel seguente programma:

#includere
#includere
Utilizzo dello spazio dei nomi std;
int main ()

vectorvtr;
VTR.push_back (0); VTR.push_back (0); VTR.push_back (0);
VTR.push_back (0); VTR.push_back (0);
per (int i = 0; icout<cout<restituzione 0;

L'output è:

0 0 0 0 0

Vettore dei valori di tipo predefinito e inizializzazione

Se il numero di elementi è noto in anticipo, allora senza indicare i valori, i valori predefiniti del tipo saranno i valori iniziali. Il valore predefinito per il tipo int è zero. La sintassi per la creazione di tale vettore è:

Vector esplicito (size_type n, const allocator & = allocator ())

Il secondo argomento è facoltativo e può essere omesso. Il primo argomento è la dimensione del vettore. Se il tipo di vettore è int, i valori iniziali saranno tutti zeri. Il seguente programma illustra questo:

#includere
#includere
Utilizzo dello spazio dei nomi std;
int main ()

vectorvtr (5);
per (int i = 0; icout<cout<restituzione 0;

L'output è:

0 0 0 0 0

Conclusione

La dimensione del vettore in tutti i campioni di codice sopra è 5. Qualsiasi altro numero può essere utilizzato. Un vettore può essere inizializzato con tutti gli zeri in tre modi principali: a) Utilizzare inizializer_list, b) Utilizzare la funzione membro vettoriale ASSEGNA () a un vettore vuoto (o push_back ()) o c) utilizzare int o float come modello Specializzazione dei parametri per un vettore di valori inizialmente solo predefiniti.