Включить стиль охраны, переполнение стека

У меня есть файл .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

1

Решение

К ним относятся охранники, предотвращающие двойное включение файлы. Таким образом, они должны быть определены один раз для файла, а не для класса, функции или чего-либо еще.

5

Другие решения

Рассматривали ли вы использовать #pragma один раз? Большинство современных компиляторов поддерживают это.

Является ли #pragma безопасным включением охраны?

2

По вопросам рекламы [email protected]