¿Tiene algún buen consejo sobre cómo evitar dependencias circulares de archivos de encabezado, por favor?Evitando las dependencias circulares de los archivos de encabezado
Por supuesto, desde el principio, trato de diseñar el proyecto lo más transparente posible. Sin embargo, a medida que se agregan más y más características y clases, y el proyecto se vuelve menos transparente, comienzan a ocurrir dependencias circulares.
¿Existen reglas generales, verificadas y de trabajo? Gracias.
+1 Hola Artyom, gracias por la respuesta. un uso más frecuente de declaraciones directas podría ser útil. –
@Artyom: si el puntero está destinado a ser el propietario del recurso, te aconsejo que uses 'scoped_ptr' o' unique_ptr'. Si el puntero es simplemente una referencia a un objeto, entonces podría ser necesario usar un patrón Observer para que esté "desarmado" cada vez que se destruya el objeto al que se hace referencia. –
@Matthieu M. Por supuesto, (o 'auto_ptr' que es mejor cuando no quieres depender de' boost' o 'C++ 0x'). Pero prefiero mostrar una idea general en lugar de un código en vivo. Incluso puede ser 'std :: vector' que funcionaría si foo tiene una declaración directa. –
Artyom