Я нашел проект с такой структурой:
// Header.h
#ifndef HEADER_H
#define HEADER_H
...
#endif
// Source.cpp
#ifndef HEADER_H
#include "Header.h"#endif
Мне это кажется немного излишним.
Возможно, во время сборки может быть небольшое улучшение производительности из-за того, что компилятору не нужно открывать включаемый файл, чтобы понять, что он может его игнорировать. Но я думаю, что у современных компиляторов есть лучшие способы оптимизировать такие вещи.
Я ошибся?
Задача ещё не решена.