T
Einfach gesagt: includiere nur das, was an der jeweiligen Stelle unbedingt gebraucht wird. Alles in stdafx.h zu schmeißen ist zwar bequem, aber sicher nicht der beste Weg.
Aber wenn ich anfange die Includes auf die einzelnen Headerdateien zu verteilen, die sie benötigen, erhalte ich seltsame Fehler wie z.B. Neudefinitionen von Klassen, obwohl diese durch Inklude-Wächter geschützt sind...
Siehe oben. Includiere in Headern nur das, was du wirklich für die Schnittstellenbeschreibung brauchst und trenne sauber Definition und Implementierung, dann sollte es i.d.R. keine Probleme geben. In den meisten Fällen kannst du selbst dort einiges sparen (auch Komiplezeit) wenn du möglichst viel Forward-deklarierst -> such mal nach PIMPL-idiom.