tutorial studio programacion para móviles libro español edición desarrollo curso aplicaciones c++ syntax forward-declaration

c++ - studio - programacion android pdf 2018



Referencia o declaración directa en C++ (3)

Creo que el término correcto para lo que estás hablando es "declaración avanzada". La "referencia directa" sería un poco confusa.

¿Cómo hago referencia / declaración de reenvío en C ++ para evitar referencias de archivo de encabezado circular?

Tengo el protector #ifndef en el archivo de encabezado, pero la memoria me dice que necesito esta referencia hacia adelante, que he usado antes> <pero no recuerdo cómo.


No obtendrá referencias de archivos de encabezado circulares si tiene guardias #ifndef. Ese es el punto.

La referencia hacia adelante se usa para evitar #incluir (ing) archivos de encabezado para objetos que usa solo por puntero o referencia. Sin embargo, en este caso no está resolviendo un problema de referencia circular, solo está practicando un buen diseño y desacoplando el archivo .h de los detalles que no necesita saber.


Usted predeclare la clase sin incluirla. Por ejemplo:

//#include "Foo.h" // including Foo.h causes circular reference class Foo; class Bar { ... };