1

いくつかのクラス定義を含む .h ファイルがあります。このファイルで C++ のインクルード ガードを使用したいと考えています。しかし、インクルード ガードのどの使用方法が適切/正しいと見なされるのか疑問に思っていました。

すべてを守る 1 つのガード

#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
4

2 に答える 2

5

それらはインクルードガードであり、ファイルの二重インクルードを防ぎます。そのため、クラスや関数などごとではなく、ファイルごとに 1 回定義する必要があります。

于 2012-09-08T00:34:55.953 に答える
2

#pragma once の使用を検討しましたか? 最近のほとんどのコンパイラはそれをサポートしています。

#pragma once はセーフ インクルード ガードですか?

于 2012-09-08T02:10:53.880 に答える