buscando una función sin llamar: desentrañando el misterio
Imagínate esto: estás codificando y en lugar de invocar una función entre paréntesis, simplemente imprime su nombre. Sorprendentemente, el resultado siempre es 1. Este enfoque poco convencional te deja perplejo, tanto por los 1 como por la ausencia del puntero de función esperado.
Profundicemos en las complejidades de tu código:
#include
using namespace std;
void pr()
{
cout Contrariamente a su intención, en realidad no está llamando a la función pr en las declaraciones cout
Para mejorar su comprensión, considere usar cout
Si bien C 11 ofrece una solución elegante:
template
std::ostream & operatorEsta sobrecarga le permite imprimir punteros de función de aridad arbitraria, mostrando información como la dirección del puntero de función y el número de sus argumentos.
Así que ahí lo tiene: los enigmáticos 1 son no es una mera coincidencia sino el resultado de una conversión de tipo implícita. Comprender este comportamiento es crucial para evitar resultados inesperados y crear un código más sólido.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3