Stdmove en c ++

Stdmove en c ++

Al igual que muchas otras funciones de C ++, la función STD :: Move () es única en su funcionalidad. Como su nombre indica, se ha utilizado para mover el valor de una variable a otra mientras elimina el valor de la primera variable. Se puede usar con o sin la función push_back () de la biblioteca vectorial. Entonces, comencemos el artículo para ver si está funcionando. Cree un nuevo archivo C ++ y ábralo.

Ejemplo 01:

Comencemos con el primer ejemplo. Se han agregado los archivos principales de encabezado para este código, yo.mi., iOStream, vector, cadena y utilidad. Necesitamos agregar el espacio de nombres estándar "STD."Entonces, dos variables de tipo de cadena, S1 y S2, se inicializan dentro de la función Main (). Aquí viene el tipo de vector iterador "V" de un tipo de cadena. El objeto iterador "V" se usa para aplicar la función PUSH_BACK () en S1. Esto significa que el valor de la variable S1 se ha llevado a la última ubicación del vector. Como el vector está vacío, se insertará primero. Aquí viene el "std :: mude ()" para permitirnos no crear otro objeto vectorial para agregarle valor a él. Entonces, la función push_back () usa la función "std :: mude ()" en ella para mover la cadena S2 a un vector "V" en su última ubicación. La declaración de cout está aquí para informarnos sobre el vector resultante. El bucle "para" se utiliza para obtener los valores del vector como una lista y mostrarlos en el terminal a través de la cláusula "Cout". El código termina aquí. Guarde y cierre el archivo para avanzar.

incluir
#incluir
#incluir
#incluir
usando el espacio de nombres STD;
int main ()
cadena s1 = "hola";
cadena s2 = "mundo";
vectorv;
V.push_back (S1);
V.push_back (std :: movimiento (s2));
cout << "Overall Vector:";
para (cadena y x: v)
cout << " << x << '\n';
regresar 0;

El código debe compilarse antes de su ejecución para resolver cualquier error. Por lo tanto, el compilador G ++ se ha utilizado hasta ahora. El "./a.Out ”La instrucción eterna está aquí para ejecutar nuestro código C ++. Puede ver que el resultado muestra el vector de dos cadenas.

Ejemplo 02:

Echemos un vistazo a otro ejemplo de usar std :: mude () en c ++ de la manera más simple posible. El código se inicia con las mismas bibliotecas de encabezado, yo.mi., iOStream, vector, cadena y utilidad. Después de eso, el espacio de nombres estándar "STD" es necesario para evitar usar la palabra clave "STD" una y otra vez en el código. La función Main () se inicia con la inicialización de una variable de cadena "S" con un valor de cadena. El vector "vec" del tipo de cadena se declara como vacío. Como solo hay 1 cadena, el vector resultante se construirá con esta variable única. Entonces, la función push_back () se llama usando el objeto vector "vec."Esta función copia la cadena
"S" se colocará en el último lugar de un vector "VEC."No elimina el valor de la variable" S ". La instrucción Cout muestra el valor de la cadena "S" en el shell después de usar la función push_back (). Nuevamente, el mismo valor se mueve a la última ubicación de un vector utilizando la función "mover" dentro del método "push_back ()". La instrucción Cout mostrará el valor de "S" después de usar el método "Mover". En el último, la cláusula Cout se utiliza para mostrar los valores de "VEC" vectoriales resultantes en el shell.

#incluir
#incluir
#incluir
#incluir
usando el espacio de nombres STD;
int main ()
cadena S = "Linux";
vectorvec;
VEC.push_back (s);
cout << "After Copy String: " << s << endl;
VEC.push_back (mover (s));
cout << "After Move String: " << s << endl;
cout<<"Vector Elements: "<regresar 0;

El código ha sido ejecutado. En primer lugar, muestra el valor de "s" después de copiarlo al vector "vec."Después de usar un movimiento (), la variable" S "se vacía. En el último, se ha mostrado el valor vectorial.

Ejemplo 03:

Tengamos un último pero no el menos ejemplo de movimiento (). Se incluyen una sola biblioteca y un espacio de nombres estándar. La función Main () se inicia con la inicialización de dos vectores de tipo entero, V1 y V2, con algún rango. La primera declaración de Cout muestra que mostraremos el valor del primer vector V1. El bucle "para" está aquí para iterar los valores de First Vector V1 desde su posición inicial hasta su final utilizando la función "Tamaño" en él. En cada iteración, muestra cada valor del vector. Se ha hecho lo mismo para Vector V2 para mostrar sus valores enteros a través del bucle "para".

La función std :: mude () está utilizando la función begin () en ella. El primer parámetro, v1.Begin () muestra el valor de inicio del vector V1 que se colocará en el vector v2. El segundo parámetro, "V1.begin () + 4, muestra la última ubicación de V1, que podemos sumar en el vector V2. El tercer parámetro, "V2.Begin () + 1, muestra el punto de partida del vector V2 donde tenemos que agregar o reemplazar los valores. El último bucle "para" está aquí para iterar el Vector V2 recientemente actualizado y mostrarlo en el shell.

#incluir
usando el espacio de nombres STD;
int main ()
vectorV1 2, 4, 6, 8, 10;
vectorv2 0, 0, 0, 0, 0;
cout <<"Vector 1: ";
para (int i = 0; icout << " " << v1[i];
cout << endl;
cout <<"Vector 2: ";
para (int i = 0; icout << " " << v2[i];
cout << endl;
std :: mover (v1.begin (), v1.begin () + 4, v2.begin () + 1);
cout <<"Vector 2 After move: ";
para (int i = 0; icout << " " << v2[i];
cout << endl;
regresar 0;

En la ejecución, ambos vectores se muestran por separado primero. Después de eso, el Vector V2 actualizado muestra los últimos 4 valores actualizados.

Conclusión:

Este artículo explica ejemplos de la función std :: mude () en c++. Hemos usado la función push_back () para elaborar más claramente en nuestros códigos. Hemos cubierto el concepto de vectores en nuestros códigos para utilizar la función de movimiento.