una tipos programacion parametros funciones funcion estructura ejemplos dev con c++ c inline c99 forward-declaration

c++ - tipos - Declaración de funciones en línea hacia adelante



funciones programacion (2)

No es diferente de una función no en línea:

void func(); // "forward" declaration // ... inline void func() // definition { // impl }

Normalmente, el patrón utilizado para "ocultar" las definiciones del consumidor de la biblioteca es colocar las declaraciones en un encabezado ( ah ) y las definiciones en un segundo encabezado ( a_def.h ), luego hacer que el primero #include el último (se omiten los guardias de inclusión) para ser breve):

// a.h void func(); #include "a_def.h" // a_def.h inline void func() { // impl }

El consumidor de la biblioteca simplemente #include <ah> .

Tengo un archivo de encabezado que contendrá una gran cantidad (30+) de funciones en línea.

En lugar de que el lector se desplace o busque la definición (implementación) de la función en línea, me gustaría tener una sección de declaración directa que indique la declaración de la función con comentarios que describan la función. Esta sección le permitiría al lector descubrir cómo usar una función o buscar una función sin tener que desplazarse hacia abajo a la implementación.

Además, me gustaría que los lectores se acostumbren a usar funciones sin tener que ver sus implementaciones.

¿Cuál es la sintaxis para una declaración de reenvío de una función independiente?

{Esto se aplica a C99 y C ++}

Para su información, estoy usando el conjunto de compiladores IAR Workbench C para usar C99.


No es necesario que lo "reenvíe" (un término que generalmente solo se aplica a los tipos, ya que generalmente los definimos en el mismo lugar donde los declaramos primero).

Solo declaralo, como normal:

#include <iostream> void foo(); // Declaration inline void foo() { // Defining declaration std::cout << "!"; } // --------------------------------------------- int main() { foo(); // Output: foo() }

Demo en vivo.