C ++ Stdforward

C ++ Stdforward
Una de las funciones esenciales de C ++, la función delantera (), se cubrirá en la lección de hoy. Para asegurarnos de que cada aspecto de la función se entienda claramente, también usaremos algunos ejemplos. Pero primero, revisemos rápidamente el lenguaje de programación C ++, los fundamentos de las funciones y la lógica detrás de la implementación de la función Forward ().

La base del lenguaje de programación C ++ se basa en los conceptos de programación orientada a objetos (OOP). El usuario puede construir y comprender fácilmente los principios del programa ya que C ++ tiene un marco adecuado. Además, dado que las funciones son concisas de código, el principio se ha dejado claro en C ++ para que pueda usarse en cualquier lugar dentro de un programa en ejecución.

Introducción

En el lenguaje C ++, la función delantera () funciona de manera similar a la función Move () ya que ambos se utilizan para implementar la semántica de Mover. En la función Forward (), acepta un valor de reenvío como valor de entrada y luego determina si se ha suministrado un LVALUE o un RVALUE referenciado al valor de entrada. Y a cambio de si dará el tipo de referencias adecuado con el argumento de la plantilla T o no. La función delantera () se usa para hacer el reenvío perfecto. Cuando se asigna una referencia de RValue a una variable REF, REF se convierte en una entidad nombrada. Aunque REF es una referencia de RValue, se encuentra dentro de la categoría LValue. Como resultado, la copia de la semántica en lugar de mover la semántica se emplea para referencias.

Sintaxis

La función lvalue () es una plantilla de valor izquierda en la función Forward () y es la palabra clave predefinida en el lenguaje C ++ que se utiliza para comenzar una plantilla de clase. Luego es seguido por cualquier parámetros de plantilla que estén contenidos dentro y la declaración de clase. El parámetro de plantilla "t" y la palabra clave "clase" son marcadores de posición para los tipos de datos utilizados en la declaración. Pasaremos este parámetro "t" y llamaremos a la función hacia adelante () y pasaremos el tipo y el argumento en él. La función de plantilla remove_reference () es parte de la biblioteca estándar de C ++. La función rValue () es la plantilla de valor correcta en la función Forward (). Una variable de referencia se convierte en un objeto con nombre cuando se aplica una referencia de RValue. Incluso si el árbitro es una referencia a un rValue, pertenece a la clase Lvalue.

Parámetros:

Arg: es un argumento de entrada y se usa para pasar en la función Forward ().

Valor de retorno:

A cambio, obtendremos la referencia de RValue (valor derecho) si no obtuvimos la referencia de Lvalue (valor izquierdo).

Ejemplo 01:

Ahora, comencemos a implementar nuestro primer ejemplo de una de las funciones que es la función de reenvío () en el lenguaje C ++. Para comenzar a escribir el código que queremos implementar en el lenguaje de programación de C ++, siempre necesitamos un compilador donde escribamos el código y ejecutamos el código. Entonces, para eso, puede instalar cualquier compilador de lenguaje C ++, o también puede usar el compilador en línea para escribir y ejecutar el código si es compatible con las bibliotecas que va a usar en el programa.

#incluir
#incluir
usando el espacio de nombres STD;

Después de abrir el compilador C ++, ahora puede comenzar a escribir el código. En los programas C ++, siempre debemos incluir archivos de encabezado en el programa para que podamos llamar fácilmente la función que vamos a usar en el programa en cualquier lugar. Estas bibliotecas son las bibliotecas incorporadas del lenguaje de programación C ++. Simplemente tenemos que escribir solo una línea de código para incluir estas bibliotecas. La primera biblioteca que siempre incluiremos en el programa C ++ es la biblioteca "IOSTEAM" que se utiliza para obtener la entrada del usuario y también podemos mostrar los datos a través de la biblioteca "IosTeam". Para llamar a la biblioteca, primero escribimos el símbolo "#" que le dirá al compilador que vamos a acceder a la biblioteca. Luego, escribiremos la palabra clave "incluir", que es la palabra clave predefinida que instruirá al compilador que estamos incluidos la biblioteca. Y en el símbolo, escribiremos el nombre de la biblioteca que estamos importando en el programa que es iostream ”.

Incluiremos la segunda biblioteca incorporada del programa que estamos utilizando que es "utilidad". La biblioteca de "utilidad" se utiliza para definir algunas plantillas que se usan a menudo en la biblioteca de plantillas estándar (STL) en todo el programa existente. Además, estábamos utilizando la regla "Usando el espacio de nombres" para evitar objetos, métodos y parámetros para compartir el mismo dominio en todo el resto del programa.

Vacío sobrecargado (int const y a)

cout<< "[lvalue]";

Void sobrecargado (int && a)

cout<< "[rvalue]";

plantilla
T delantero (t && a)

sobrecargado (a);
sobrecargado (hacia adelante (a));

Implementamos la función global, que es uno de los métodos individuales orientados a objetos donde declaramos la función fuera de la función main () y luego simplemente llamamos a la función en la función main () y pasamos las variables declaradas para que nosotros Obtenga la salida deseada. Primero, escribiremos el tipo de datos de la función que estamos implementando que es "nula", lo que significa que la función no devuelve ningún valor.

A continuación, escribiremos el nombre de la función que vamos a implementar la "función sobrecarga ()" y pasaremos el parámetro en él. En la función Overload () hemos impreso el mensaje B usando el método Cout (). La función Overloaded () significa que puede proporcionar múltiples funciones con el mismo nombre en el mismo espacio de nombres. Con funciones sobrecargadas, puede dar un método múltiples semánticas basadas en los tipos y cantidades de sus parámetros. Como puede ver, hemos implementado una función más con el mismo nombre "sobrecargado" en el mismo programa y hemos pasado el parámetro en ella.

A continuación, hemos implementado la función de plantilla predefinida () en el programa para que podamos devolver el resultado de cualquier tipo de datos. Y llamamos a la función sobrecargada () en ella. Como ha visto, la función Overloaded () es el tipo "int", por eso hemos implementado la función Template (), si ingresamos el valor de cualquier tipo para que el compilador no genere ningún error en el programa.

Luego, comenzaremos la función Main () donde declararemos la variable y accederemos a las funciones globales anteriores aquí. Primero, hemos declarado las dos variables del tipo int y les hemos asignado el valor. Hemos declarado otra variable de tipo "INT" nombrada y hemos almacenado la expresión ADD en "Res". Luego, imprimimos la variable "Res" y también pasamos la variable "Res" en la función Forward () para que obtengamos el Lvalue y en la siguiente llamada de función Forward () obtendremos la referencia de Lvalue y RValue.

int main ()
int a = 30, b = 23;
int res = a+b;
cout<< res << " is a: ";
hacia adelante (res);
cout<cout<hacia adelante (a+b);
cout<regresar 0;

Y al final de la función main (), devolveremos 0 a la función main () para que le indique al compilador que queremos detener la ejecución del programa y mostrar el resultado del programa.

Conclusión

En este artículo, hemos aprendido sobre la función delantera (), que es la función incorporada del lenguaje de programación C ++. También hemos aprendido sobre qué es la sobrecarga y también sobre la función de plantilla () del lenguaje C ++. Hemos implementado un ejemplo de la función Forward () y hemos usado la función Template () en ella.