Том Зыч: «Файлы заголовков часто используют такую логику, чтобы избежать включения более одного раза.»
Это действительно так, но на самом деле это необходимо только для «публичных» заголовков, таких как заголовки для библиотечных функций.где у вас нет никакого контроля над тем, как включены заголовки.
Этот трюк не нужен для заголовков, используемых в проектах, где вы можете контролировать, как все включено.(Если они используются за пределами общедоступных заголовков, это не распространено).
Если вы не будете использовать их в «частных» заголовках, вы, скорее всего, будете включать заголовки менее случайным образом.