Упаковка #include в # ifndef's - добавляет какое-либо значение?

Я унаследовалC/ C ++, и в ряде .cpp файлов#include директивы заключены в # ifndef с внутренним одиночным заголовком include#define.

например

<code>#ifndef _INC_WINDOWS
#include <windows.h>
#endif
</code>

и выглядит как windows.h

<code>#ifndef _INC_WINDOWS
#define _INC_WINDOWS
...header file stuff....
#endif // _INC_WINDOWS
</code>

Я предполагаю, что это было сделано для ускорения компиляции / предварительной обработки кода.

Я думаю, что это уродливая и преждевременная оптимизация, но, так как проект имеет 5-минутное время сборки из чистого, я не хочу, чтобы все ухудшалось.

Так добавляет ли практика какую-либо ценность или ускоряет процесс? Можно ли их убирать?

Обновление: компилятор MSVC (VS2005) и платформа Win32 / WinCE

Ответы на вопрос(2)

Ваш ответ на вопрос