在.h文件中放入一個名稱空間聲明是不好的形式嗎?C++ - 程序中的多枚舉枚舉
//object.h
namespace Stuff {
enum Type {Player, Enemy, Gold, Potion}
}
...
當其他文件包含object.h時,它最終可能會被定義多次。這會是一個問題嗎?
在.h文件中放入一個名稱空間聲明是不好的形式嗎?C++ - 程序中的多枚舉枚舉
//object.h
namespace Stuff {
enum Type {Player, Enemy, Gold, Potion}
}
...
當其他文件包含object.h時,它最終可能會被定義多次。這會是一個問題嗎?
這就是爲什麼你會包括標頭警衛(編譯一次,如果/結束如果)。您還可以使用enum 類類型,例如,枚舉類EnumClassName作爲範圍解析而不是命名空間。
好像你沒有在.h文件中包含HEADER GUARD。 它應該是這樣的 -
#ifndef _HEADER_GUARD_
#define _HEADER_GUARD_
//Your .h file content
#endif
這可以防止同一頭文件在文件中多次包含。 人們通常使用.h文件的名稱作爲HEADER_GUARD宏。
比如,對於名爲abhi.h的文件,我傾向於使用_ABHI_H_