Per automatico in C++

Per Automatico In C



C++ fornisce la parola chiave 'auto' che indica che il tipo di una variabile verrà dedotto automaticamente dal suo inizializzatore quando viene dichiarato per la prima volta. Inoltre, i metodi il cui tipo restituito è auto esamineranno l'espressione del tipo restituito in fase di esecuzione. Possiamo anche definirlo poiché viene utilizzato per rilevare automaticamente il tipo di dato del valore. Quando utilizziamo questa parola chiave 'auto' nel ciclo 'for', non è necessario aggiungere il tipo di dati con ciascun iteratore. La parola chiave 'auto' nel ciclo 'for' indica al compilatore di determinare il tipo di variabile dichiarata utilizzando la sua espressione di inizializzazione.

Esempio 1:

'iostream' è il primo file di intestazione qui in cui vengono dichiarate le funzioni di C++. Quindi aggiungiamo il file di intestazione 'vettore' che è incluso qui in modo da poter lavorare con il vettore e la funzione per operare sui vettori. Quindi, 'std' è lo spazio dei nomi che inseriamo qui, quindi non è necessario inserire questo 'std' con tutte le funzioni individualmente in questo codice. Quindi, qui viene richiamato 'main()'. Sotto questo creiamo un vettore di tipo dati “int” con il nome “myNewData” e inseriamo al suo interno alcuni valori interi.

Successivamente, inseriamo il ciclo “for” e utilizziamo questa parola chiave “auto” al suo interno. Ora, questo iteratore rileverà il tipo di dati dei valori qui. Otteniamo i valori del vettore 'myNewData' e li salviamo nella variabile 'data' e li visualizziamo anche qui mentre aggiungiamo questi 'dati' nel 'cout'.







Codice 1:



#include
#include
utilizzando spazio dei nomi standard ;
int principale ( ) {
vettore < int > myNewData { undici , 22 , 33 , 44 , 55 , 66 } ;
per ( auto dati : myNewData ) {
cout << dati << fine ;
}
}

Produzione :
Abbiamo visto tutti i valori di questo vettore che sono stampati qui. Stampiamo questi valori utilizzando il ciclo 'for' e inserendo al suo interno la parola chiave 'auto'.







Esempio 2:

Qui aggiungiamo 'bits/stdc++.h' poiché contiene tutte le dichiarazioni di funzioni. Quindi, inseriamo qui lo spazio dei nomi 'std' e quindi invochiamo 'main()'. Al di sotto di questo, inizializziamo un 'set' di 'string' e lo chiamiamo 'myString'. Quindi, nella riga successiva, inseriamo i dati della stringa. Inseriamo alcuni nomi di frutta in questo set utilizzando il metodo “insert()”.

Usiamo il ciclo 'for' sottostante e inseriamo la parola chiave 'auto' al suo interno. Successivamente inizializziamo un iteratore dal nome “my_it” con la parola chiave “auto” e gli assegniamo “myString” insieme alla funzione “begin()”.



Quindi, inseriamo una condizione che sia 'my_it' diversa da 'myString.end()' e incrementiamo il valore dell'iteratore utilizzando 'my_it++'. Successivamente inseriamo '*my_it' in 'cout'. Ora stampa i nomi dei frutti in base alla sequenza alfabetica e il tipo di dati viene rilevato automaticamente quando abbiamo inserito qui la parola chiave 'auto'.

Codice 2:

#include
utilizzando spazio dei nomi standard ;
int principale ( )
{
impostato < corda > myString ;
myString. inserire ( { 'Uva' , 'Arancia' , 'Banana' , 'Pera' , 'Mela' } ) ;
per ( auto mio_esso = myString. inizio ( ) ; mio_esso ! = myString. FINE ( ) ; mio_esso ++ )
cout << * mio_esso << ' ' ;

ritorno 0 ;
}

Produzione:
Qui possiamo notare che i nomi dei frutti vengono visualizzati in sequenza alfabetica. Qui vengono visualizzati tutti i dati che abbiamo inserito nel set di stringhe perché abbiamo utilizzato 'for' e 'auto' nel codice precedente.

Esempio 3:

Poiché “bits/stdc++.h” contiene già tutte le dichiarazioni di funzioni, lo aggiungiamo qui. Dopo aver aggiunto lo spazio dei nomi 'std', chiamiamo 'main()' da questa posizione. Il “set” di “int” che abbiamo stabilito di seguito si chiama “myIntegers”. Quindi aggiungiamo i dati interi nella riga successiva. Usiamo il metodo 'insert()' per aggiungere alcuni numeri interi a questo elenco. La parola chiave 'auto' è ora inserita nel ciclo 'for' utilizzato al di sotto di questo.

Successivamente, utilizziamo la parola chiave “auto” per inizializzare un iteratore con il nome “new_it”, assegnandogli le funzioni “myIntegers” e “begin()”. Successivamente, impostiamo una condizione che afferma che 'my_it' non deve essere uguale a 'myIntegers.end()' e utilizziamo 'new_it++' per aumentare il valore dell'iteratore. Successivamente, inseriamo '*new_it' in questa sezione 'cout'. Stampa gli interi in ordine ascendente. Quando viene inserita la parola chiave 'auto', rileva automaticamente il tipo di dati.

Codice 3:

#include
utilizzando spazio dei nomi standard ;
int principale ( )
{
impostato < int > myIntegers ;
myIntegers. inserire ( { Quattro cinque , 31 , 87 , 14 , 97 , ventuno , 55 } ) ;
per ( auto new_it = myIntegers. inizio ( ) ; new_it ! = myIntegers. FINE ( ) ; new_it ++ )
cout << * new_it << ' ' ;

ritorno 0 ;
}

Produzione :
I numeri interi sono qui mostrati in ordine crescente come visto di seguito. Poiché nel codice precedente abbiamo utilizzato i termini 'for' e 'auto', tutti i dati che abbiamo inserito nell'insieme di numeri interi vengono visualizzati qui.

Esempio 4:

I file di intestazione 'iostream' e 'vettore' sono inclusi poiché lavoriamo con i vettori qui. Viene quindi aggiunto lo spazio dei nomi 'std' e quindi chiamiamo 'main()'. Quindi, inizializziamo un vettore di tipo dati 'int' con il nome 'myVectorV1' e aggiungiamo alcuni valori a questo vettore. Ora inseriamo il ciclo 'for' e utilizziamo 'auto' qui per rilevare il tipo di dati. Accediamo per valori del vettore e poi li stampiamo inserendo “valueOfVector” nel “cout”.

Successivamente, inseriamo un altro “for” e “auto” al suo interno e lo inizializziamo con “&& valueOfVector: myVectorV1”. Qui accediamo tramite riferimento e quindi stampiamo tutti i valori inserendo 'valueOfVector' nel 'cout'. Ora non abbiamo bisogno di inserire il tipo di dati per entrambi i cicli poiché utilizziamo la parola chiave “auto” all’interno del ciclo.

Codice 4:

#include
#include
utilizzando spazio dei nomi standard ;
int principale ( ) {
vettore < int > myVectorV1 = { 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 } ;
per ( auto valoredelvettore : myVectorV1 )
cout << valoredelvettore << ' ' ;
cout << fine ;
per ( auto && valoredelvettore : myVectorV1 )
cout << valoredelvettore << ' ' ;
cout << fine ;
ritorno 0 ;
}

Produzione:
Vengono visualizzati tutti i dati del vettore. I numeri visualizzati nella prima riga sono quelli a cui abbiamo avuto accesso tramite valori, mentre i numeri visualizzati nella seconda riga sono quelli a cui abbiamo avuto accesso tramite riferimento nel codice.

Esempio 5:

Dopo aver chiamato il metodo “main()” in questo codice, inizializziamo due array che sono “myFirstArray” della dimensione “7” con il tipo di dati “int” e “mySecondArray” con la dimensione “7” del “double” tipo di dati. Inseriamo i valori in entrambi gli array. Nel primo array inseriamo i valori “interi”. Nel secondo array aggiungiamo i valori “double”. Successivamente, utilizziamo 'for' e inseriamo 'auto' in questo ciclo.

Qui utilizziamo un ciclo 'range base for' per 'myFirstArray'. Quindi inseriamo “myVar” nel “cout”. Al di sotto di questo, posizioniamo nuovamente un ciclo e utilizziamo il ciclo 'range base for'. Questo ciclo è per 'mySecondArray' e quindi stampiamo anche i valori di quell'array.

Codice 5:

#include
utilizzando spazio dei nomi standard ;
int principale ( )
{
int myFirstArray [ 7 ] = { quindici , 25 , 35 , Quattro cinque , 55 , 65 , 75 } ;
Doppio mySecondArray [ 7 ] = { 2.64 , 6.45 , 8.5 , 2.5 , 4.5 , 6.7 , 8.9 } ;
per ( cost auto & miaVar : myFirstArray )
{
cout << miaVar << ' ' ;
}
cout << fine ;
per ( cost auto & miaVar : mySecondArray )
{
cout << miaVar << ' ' ;
}
ritorno 0 ;
}

Produzione:
Tutti i dati di entrambi i vettori vengono visualizzati in questo risultato qui.

Conclusione

Il concetto “per auto” è studiato approfonditamente in questo articolo. Abbiamo spiegato che 'auto' rileva il tipo di dati senza menzionarlo. Abbiamo esplorato diversi esempi in questo articolo e abbiamo anche fornito la spiegazione del codice qui. Abbiamo spiegato in modo approfondito il funzionamento di questo concetto “per auto” in questo articolo.