創建一個所有成員(屬性,函數)都是靜態類的(客觀)缺點是什麼?特別是與使用命名空間相比?或者你更願意創建全局變量/函數?現代C++中的全局變量
我喜歡創建靜態屬性,因爲我發現它們「更整潔」。 (我確切地知道他們來自哪裏,等等)。我對命名空間不是很熟悉。而且我對全局變量不滿意,因爲我對C關鍵字不是很熟悉,如extern
和static
。
此外,如果我們考慮類
class MyStaticClass
{
private:
static int x;
static double y;
public:
static float s;
static double weatherForecast(unsigned int, char);
};
和命名空間
namespace MyNamespace
{
int x;
double y;
float s;
double weatherForecast(unsigned int, char);
}
是否有打電話
MyStaticClass::weatherForecast
並呼籲MyNamespace::weatherForecast
之間的差異(性能明智)?閱讀/書寫
MyStaticClass::s
與閱讀/書寫MyNamespace::s
之間是否存在差異(表現方面)?如果使用類而不是主類型,上述問題的答案是否會發生變化?
_「或者你願意創建一個命名空間嗎?」_我認爲這是今天公認的最佳做法。但這可能只是一個意見。 –
你爲什麼需要它們?一組常量? + https://isocpp.org/wiki/faq/coding-standards#global-vars –
https://google.github.io/styleguide/cppguide.html#Static_and_Global_Variables,這可能是有用的。 – 88877