У меня есть файл .h, который содержит несколько определений классов. Я хотел бы использовать в этом файле встроенные средства защиты C ++; Тем не менее, мне было интересно, какой способ использования охранников включения считается правильным / правильным?
Один охранник защищает все
#ifndef FOO_BAR
#define FOO_BAR
class Foo
{
};
class Bar
{
};
#endif
или несколько отдельных охранников.
#ifndef FOO
#define FOO
class Foo
{
};
#endif
#ifndef BAR
#define BAR
class Bar
{
};
#endif
К ним относятся охранники, предотвращающие двойное включение файлы. Таким образом, они должны быть определены один раз для файла, а не для класса, функции или чего-либо еще.
Рассматривали ли вы использовать #pragma один раз? Большинство современных компиляторов поддерживают это.