包括后卫的风格,C ++(Include guard style, C++)

2019-10-17 05:34发布

我有一个包含几个类定义.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

Answer 1:

它们包括警卫,防止文件重包含。 因此,他们应该被每个文件定义一次,不是每个类或函数或别的什么东西。



Answer 2:

你有没有考虑到的#pragma一次使用? 大多数现代编译器都支持它。

是的#pragma一次安全包括后卫?



文章来源: Include guard style, C++