Wie kent het niet? Je wijzigt een enkele header file en prompt wordt het halve project gerebuild.
Met forward declarations en minder includes in header files is hier iets aan te doen, maar echt makkelijk is dat niet. Vandaar mijn vragen.
Zijn er (gratis) tools om deze onnodige includes te detecteren?
Hoe pakken anderen dit aan?
Waarom is een forward declaratie niet altijd genoeg?
Op een gegeven moment heeft de compiler de layout en grootte van A nodig, maar dat is (IMO) niet per se tijdens de definitie van B.
Met forward declarations en minder includes in header files is hier iets aan te doen, maar echt makkelijk is dat niet. Vandaar mijn vragen.
Zijn er (gratis) tools om deze onnodige includes te detecteren?
Hoe pakken anderen dit aan?
Waarom is een forward declaratie niet altijd genoeg?
Op een gegeven moment heeft de compiler de layout en grootte van A nodig, maar dat is (IMO) niet per se tijdens de definitie van B.
C++:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| class A; class B { A a; // error C2079: 'B::a' uses undefined class 'A' }; class A { }; int main() { B; } |