Kann ich nicht nachvollziehen. Gerade bei Winsock (pragma comment(lib,"ws2_32.lib") und #include <winsock2.h>) habe ich die Erfahrung gemacht, dass es einfacher ist, die Header nur in eine Datei zu schreiben, eben darum, weil die Reihenfolge sonst nicht immer klar ist und man riesige Labyrinthe konstruieren kann.
Grundsätzlich sollte man ja nichts schreiben, das mit einem anderen Header kollidieren wird (wie eben z.B. cout), schlicht weil es ein Standard ist und man den nicht überschreiben sollte.
Und zu viele Header tun soweit auch nicht weh, wenn man denn Zeit und Lust hätte, könnte man sich die Windows.h auch komplett selbst neu schreiben und auf alle darin inkludierten Dateien verweisen...
Oder gibt es einen konkreten Fall, in dem man nicht zu viele Header haben sollte?
Gruss
cwriter