Stdmove in c ++

Stdmove in c ++

Proprio come molte altre funzioni C ++, la funzione Std :: Move () è unica nella sua funzionalità. Come suggerisce il nome, è stato utilizzato per spostare il valore di una variabile in un'altra mentre elimina il valore della prima variabile. Può essere usato con o senza la funzione push_back () della libreria vettoriale. Quindi, iniziamo l'articolo per vedere se funziona. Si prega di creare un nuovo file C ++ e aprirlo.

Esempio 01:

Cominciamo con il primo esempio. Sono stati aggiunti i file di intestazione principale per questo codice, i.e., iostream, vettore, stringa e utilità. Dobbiamo aggiungere lo spazio dei nomi standard "std."Quindi, le variabili di tipo stringa, S1 e S2, sono inizializzate all'interno della funzione principale (). Ecco che arriva il tipo vettoriale iteratore "V" di un tipo di stringa. L'oggetto "V" iteratore viene utilizzato per applicare la funzione push_back () su S1. Ciò significa che il valore S1 variabile è stato spinto all'ultima posizione del vettore. Poiché il vettore è vuoto, verrà inserito per primo. Ecco che arriva la "std :: move ()" per non creare un altro oggetto vettoriale per aggiungere valore ad esso. Quindi, la funzione push_back () utilizza la funzione "std :: move ()" in essa per spostare la stringa S2 in un vettore "V" nella sua ultima posizione. La dichiarazione di Cout è qui per farci conoscere il vettore risultante. Il ciclo "per" viene utilizzato per ottenere i valori dal vettore come elenco e visualizzarli sul terminale tramite la clausola "cout". Il codice termina qui. Salvalo e chiudi il file per andare avanti.

includere
#includere
#includere
#includere
Utilizzo dello spazio dei nomi std;
int main ()
string s1 = "ciao";
String S2 = "World";
vettorev;
v.push_back (s1);
v.push_back (std :: move (s2));
cout << "Overall Vector:";
per (String & X: V)
cout << " << x << '\n';
restituzione 0;

Il codice deve essere compilato prima della sua esecuzione per risolvere qualsiasi errore. Pertanto, il compilatore G ++ è stato utilizzato finora. IL "./UN.Le istruzioni eterne sono qui per eseguire il nostro codice C ++. Puoi vedere che il risultato mostra il vettore di due stringhe.

Esempio 02:

Diamo un'occhiata a un altro esempio di utilizzo di std :: move () in c ++ nel modo più semplice possibile. Il codice viene avviato con le stesse librerie di intestazione, io.e., iostream, vettore, stringa e utilità. Successivamente, lo spazio dei nomi "STD" standard è necessario per evitare di utilizzare la parola chiave "STD" ancora e ancora nel codice. La funzione principale () viene avviata con l'inizializzazione di una variabile stringa "s" con un valore stringa. Il "vec" vettoriale del tipo di stringa è dichiarato vuoto. Poiché esiste solo 1 stringa, il vettore risultante verrà costruito con questa singola variabile. Quindi, la funzione push_back () viene chiamata usando l'oggetto vettoriale “VEC."Questa funzione copia la stringa
“S” da collocare nell'ultimo posto di un vettore “VEC."Non elimina il valore della variabile" s ". L'istruzione Cout visualizza il valore della stringa "s" sulla shell dopo aver usato la funzione push_back (). Ancora una volta lo stesso valore viene spostato nell'ultima posizione di un vettore utilizzando la funzione "sposta" all'interno del metodo "push_back ()". L'istruzione Cout mostrerà il valore di "S" dopo aver usato il metodo "Move". Nell'ultimo, la clausola COUT viene utilizzata per mostrare i valori "VEC" vettoriali risultanti sulla shell.

#includere
#includere
#includere
#includere
Utilizzo dello spazio dei nomi std;
int main ()
String S = "Linux";
vettoreVEC;
Vec.push_back (s);
cout << "After Copy String: " << s << endl;
Vec.push_back (muove (s));
cout << "After Move String: " << s << endl;
cout<<"Vector Elements: "<restituzione 0;

Il codice è stato eseguito. In primo luogo, mostra il valore di "S" dopo averlo copiato nel vettore "VEC."Dopo aver usato una mossa (), la variabile" s "si è vuota. Nell'ultimo, il valore vettoriale è stato visualizzato.

Esempio 03:

Abbiamo un ultimo ma non ultimo esempio di mossa (). Sono inclusi un singolo biblioteca e spazio dei nomi standard. La funzione principale () viene avviata con l'inizializzazione di due vettori di tipo intero, V1 e V2, con un certo intervallo. La prima istruzione Cout mostra che mostreremo il valore del primo vettore V1. Il ciclo "per" è qui per iterare i valori del primo vettore V1 dalla sua posizione iniziale alla sua fine usando la funzione "dimensione" in essa. Ad ogni iterazione, visualizza ogni valore dal vettore. Lo stesso è stato fatto per Vector V2 per visualizzare i suoi valori interi attraverso il ciclo "per".

La funzione std :: move () sta utilizzando la funzione iniziale (). Il primo parametro, v1.inizio () mostra il valore di avvio da vettoriale V1 da inserire nel vettore V2. Il secondo parametro, “V1.inizio () + 4 ", mostra l'ultima posizione di V1, che possiamo sommare nel vettore V2. Il terzo parametro, “V2.inizio () + 1 ", mostra il punto di partenza del vettore V2 in cui dobbiamo aggiungere o sostituire i valori. L'ultimo loop "per" è qui per iterare il vettore V2 appena aggiornato e visualizzarlo sulla shell.

#includere
Utilizzo dello spazio dei nomi std;
int main ()
vettorev1 2, 4, 6, 8, 10;
vettorev2 0, 0, 0, 0, 0;
cout <<"Vector 1: ";
per (int i = 0; icout << " " << v1[i];
cout << endl;
cout <<"Vector 2: ";
per (int i = 0; icout << " " << v2[i];
cout << endl;
std :: move (v1.inizio (), v1.inizio () + 4, v2.inizio () + 1);
cout <<"Vector 2 After move: ";
per (int i = 0; icout << " " << v2[i];
cout << endl;
restituzione 0;

Durante l'esecuzione, entrambi i vettori vengono visualizzati prima separatamente. Successivamente, il Vector V2 aggiornato mostra gli ultimi 4 valori aggiornati.

Conclusione:

Questo articolo spiega gli esempi della funzione std :: move () in c++. Abbiamo usato la funzione push_back () per elaborare più chiaramente nei nostri codici. Abbiamo coperto il concetto di vettori nei nostri codici per utilizzare la funzione di mossa.