Corchetes adicionales con nombres de funciones en C/C++

Considere el siguiente programa C. El programa tiene corchetes adicionales alrededor del nombre de la función.

// C program to show that extra brackets with function
// name work
#include <stdio.h>
  
void (foo)(int n)
{
   printf("Function : %d ", n);
}
  
int main()
{
   (foo)(4);
   return 0;  
}

Producción:

Function 4

Entonces, poner un corchete adicional con el nombre de la función funciona en C/C++.

¿Qué se puede utilizar?
Un uso podría ser, si tenemos una macro con el mismo nombre que la función, entonces los corchetes adicionales evitan la expansión de la macro donde queramos que se llame a la función.

// C program to show that extra brackets with function
// name can be useful if we have a macro with same name
#include <stdio.h>
#define foo(n)  printf("\nMacro : %d ", n);
  
void (foo)(int n)
{
   printf("Function : %d ", n);
}
  
int main()
{
   (foo)(4);
   foo(4);
   return 0;
}

Producción:

Function 4
Macro : 4

Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo y enviarlo por correo electrónico a contribuya@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.

Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *