Cómo usar referencias de funciones en C ++

Cómo usar referencias de funciones en C ++
C ++ proporciona varios métodos para pasar argumentos a las funciones, incluso por valor, por puntero, y por referencia. Pasar argumentos por referencia permite a las funciones modificar los valores de las variables originales, en lugar de trabajar con copias. Las referencias de funciones proporcionan una forma alternativa de aprobar los argumentos por referencia y pueden simplificar el código eliminando la necesidad de sintaxis del puntero.

Este artículo explorará cómo usar Referencias de funciones en C++, incluyendo sintaxis, un ejemplo y ventajas en c++.

¿Cuáles son las referencias de funciones en c?++

Los desarrolladores pueden usar Referencias de funciones en C ++ para escribir código que sea más efectivo y expresivo. Referencias de funciones, En comparación con las llamadas de funciones convencionales, permita que los programadores envíen funciones completas como parámetros a otras funciones. Esto tiene una variedad de ventajas, incluida la legibilidad de código mejorada, la libertad de diseño de funciones ampliadas y las ganancias de rendimiento significativas.

Una característica clave de C ++ es la capacidad de enviar funciones como parámetros a otras funciones utilizando Referencias de funciones. Cuando se trabaja con aplicaciones grandes y complejas, esto puede ser inmensamente útil, ya que promueve una mayor flexibilidad y abstracción.

Cómo usar las referencias de funciones en c++

La sintaxis básica para declarar un referencia de función es como sigue:

return-type & function-ref-name (parámetros)

En este caso, "Tipo de función" se refiere al tipo de función que deseamos enviar como argumento, "Tipo de retorno" se refiere al tipo de valor el referencia de función devoluciones y "Parámetros" se refiere a los argumentos aprobados.

Hay ciertos pasos fundamentales para usar Referencias de funciones Cª++. Crear una función que acepte una referencia de función como argumento. Cualquier función que coincida con el tipo de referencia debe poder manejar esta función. Su función debe poder manejar cualquier función de ese tipo.

#incluir
int add (int a, int b)
devolver a + b;

intstract (int a, int b)
devolver a - b;

int main ()
int (*padd) (int, int) = add;
int (*psubtract) (int, int) = rect;
std :: cout << "6 + 4 = " << pAdd(6, 4) << std::endl;
std :: cout << "8 - 2 = " << pSubtract(8, 2) << std::endl;
regresar 0;

En el código anterior, las dos funciones suman y restan tanto aceptan dos parámetros enteros y devuelven un valor entero. Luego, definimos dos variables de referencia de funciones llamadas almohadilla y psubtrato, que son consejos para funciones que aceptan dos argumentos enteros y generan un valor entero. Con las direcciones de las funciones Agregar y Restar, respectivamente, inicializamos estas variables. Luego, podemos usar las variables de referencia de función Padd y Psubtract para invocar indirectamente estas funciones.

Producción

Cuando usas Referencias de funciones en C++, Debes adherirte a ciertas mejores prácticas. Antes de cualquier otra cosa, es fundamental confirmar que las funciones a las que proporcione referencias son apátridas. Esto indica que simplemente usan los parámetros de entrada que se les han suministrado y no alteran ningún estado externo. Esto se debe a que usa Referencias de funciones Administrar cambios en el estado externo puede tener resultados inesperados, ya que no estaban destinados a hacerlo.

Al pasar una función como un argumento a otra función, como cuando se usa un algoritmo de clasificación que acepta una función de comparación como argumento, Referencias de funciones puede ser útil. Además, se pueden usar para implementar funciones de devolución de llamada, en las que se llama una función cuando se realiza un evento específico.

Ventajas del uso de referencias de funciones

1: código eficiente

Cuando usas Referencias de funciones, También puede beneficiarse de una variedad de características de C ++ que lo ayudan a crear un código que es más limpio y efectivo. Por ejemplo, puede escribir un código increíblemente potente y versátil combinando Referencias de funciones con otras capacidades de C ++ como iteradores, sobrecarga de operadores y plantillas.

2: Mejoras de rendimiento

La capacidad de aumentar en gran medida el rendimiento es quizás el mayor beneficio de Referencias de funciones. A referencia de función es un puntero a la función cuando se pasa. Al hacerlo, puede ahorrar espacio al no crear una copia de la función cada vez que se invoca. Esto puede ser extremadamente importante al tratar con funciones que consumen mucho tiempo, complicadas o a gran escala.

3: Pase las funciones como argumentos

La capacidad de proporcionar funciones como parámetros a otras funciones es uno de los beneficios clave de usar Referencias de funciones. Puedes comenzar a proporcionar Referencias de funciones Como argumentos después de que su función esté configurada. Simplemente pase la referencia a la función apropiada al llamar a la función. Esto se puede hacer, ya sea nombrando explícitamente la función o utilizando una función lambda. Este último es particularmente útil cuando necesita pasar una función no identificada o en línea decolorada.

Conclusión

Para programadores que intentan construir un código más efectivo y expresivo, Referencias de funciones en c ++ son vitales. Puede aumentar la flexibilidad en el diseño de funciones, aumentar la legibilidad del código y lograr ventajas de rendimiento significativas al pasar Referencias de funciones como parámetros. Puedes comenzar a usar Referencias de funciones en su código C ++ y beneficiarse de todas sus ventajas con un poco de práctica.