我在C中有一個類似於下面的預先存在的源代碼。C中的函數內的靜態和C++中的類內的靜態差異?
bool getFlag(int param)
{
static bool flag = false;
if(param == 1)
flag = true;
return flag;
}
I have written the C++ version of the same as below.
class MyClass
{
public:
static bool getFlag(int param)
{
if(param == 1)
flag = true;
return flag;
}
private:
static bool flag;
};
上述兩個代碼片段有什麼區別? 以上的C++代碼在任何方面都優於C代碼嗎?
注意C代碼也是非常好的C++代碼。 –
你爲什麼這樣做?原來的功能很好,因爲它是。具有單個靜態函數和靜態成員的類不會添加任何值,除非您通過代碼行獲得付款,否則沒有理由執行此操作。請注意,同樣的問題用不同的方式表示(例如,C++中這兩種方法之間的區別)會有一個有效的答案。 – SergeyA
[C++,靜態局部變量(方法)和全局(文件)變量之間的區別是什麼?](https://stackoverflow.com/questions/31578571/c-what-is-difference-between-static- local-variablemethod-vs-globalfile-va) – rustyx