Использование pragma once внутри ifndef

Есть похожий вопрос Зачем используются вместе #pragma once и header guards?, но там рассматривается вариант pragma once снаружи, который потенциально может решать проблему повторных включений более оптимально, как описано в ответе на другой вопрос.

Но в каких ситуациях разумно использовать обратный вариант, когда pragma once находится уже внутри ifndef? Примеры подобных использований можно найти даже в заголовочных файлах Microsoft, например,

c:\Program Files\Microsoft Visual Studio\2022\Preview\VC\Tools\MSVC\14.29.30133\atlmfc\include\atlcom.h:

...
#ifndef __ATLCOM_H__
#define __ATLCOM_H__

#pragma once
...

Ведь пара ifndef + define будет работать везде и смысла наличия внутри pragma once как будто бы нет. Но даже если pragma once будет использоваться для каких-то оптимизаций (например, запоминания пути к файлу, чтобы больше его не включать), почему его поместили внутри, а не снаружи от ifndef?


Ответы (0 шт):