2012-09-08 60 views
1

我有一個包含幾個類定義的.h文件。我想在這個文件中使用C++的include guard;然而,我想知道使用包含衛兵的哪種方式被認爲是正確的/正確的?包括護衛風格,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 
+4

一個就足夠了。這兩個類只應該定義一次,這發生在守衛內部的任何事情上。 – chris

回答

5

它們包括警衛,防止文件雙包容。所以他們應該爲每個文件定義一次,而不是每個類或功能或其他。