Sono abbastanza chiaro quando posso/non posso usare la dichiarazione di inoltro ma non sono ancora sicuro di una cosa.Inoltra dichiarazione/quando è meglio includere intestazioni?
Diciamo che io so che devo includere un'intestazione prima o poi di de-riferimento un oggetto della classe A. Io non sono chiare sul fatto che sia più efficiente per fare qualcosa di simile ..
class A;
class B
{
A* a;
void DoSomethingWithA();
};
e poi nel cpp avere qualcosa di simile ..
#include "A.hpp"
void B::DoSomethingWithA()
{
a->FunctionOfA();
}
O potrei anche semplicemente includere colpo di testa di a nel file di intestazione di B, in primo luogo? Se il primo è più efficiente allora sarei grato se qualcuno spiegasse chiaramente perché sospetto che abbia qualcosa a che fare con il processo di compilazione che potrei sempre fare con l'apprendimento di più.
+1 per Google C++ Guida stile – LihO
applausi per rispondere, e lo stile Googles guida sembra che sarà un grande letto, grazie! – Holly
So che questo thread è vecchio, ma penso che dovrei far notare, nel caso in cui qualcun altro è alla ricerca di motivazioni, che la motivazione di Google sembra essere stata modificata in "Evita di utilizzare le dichiarazioni avanzate laddove possibile" # include solo le intestazioni di cui hai bisogno. " – soulsabr