質問

I have a .h file which contains several class definitions. I'd like to use C++'s include guards in this file; however, I was wondering which way of using the include guards is considered proper/correct?

One guard protecting everything

#ifndef FOO_BAR
#define FOO_BAR

class Foo
{
};

class Bar
{      
};

#endif

or multiple separate guards.

#ifndef FOO
#define FOO

class Foo
{
};

#endif

#ifndef BAR
#define BAR

class Bar
{      
};

#endif
役に立ちましたか?

解決

They are include guards, preventing double inclusion of files. So they should be defined once per file, not per class or function or whatever.

他のヒント

Have you considered to use #pragma once ? Most modern compilers support it.

Is #pragma once a safe include guard?

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top