包括守护风格,C ++

时间:2012-09-08 00:32:15

标签: c++ coding-style include-guards

我有一个.h文件,其中包含多个类定义。我想在这个文件中使用C ++的include guard;但是,我想知道使用包含警卫的哪种方式被认为是正确/正确的?

一名守卫保护一切

#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

2 个答案:

答案 0 :(得分:5)

他们包括警卫,防止双重包含文件。所以它们应该按文件定义一次,而不是按类或函数或其他任何方式定义。

答案 1 :(得分:2)

您是否考虑过使用#pragma一次?大多数现代编译器都支持它。

Is #pragma once a safe include guard?