私は、以下のような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;
};
上記2つのコードスニペットの違いは何ですか? 上記のC++コードは、どのような点でもCコードよりも利点がありますか?
Cコードも完全に優れたC++コードであることに注意してください。 –
なぜこれをやったのですか?オリジナルの関数はそのままです。 1つの静的関数と静的メンバーを持つクラスは値を追加しません。また、コード行で支払いを受けていない限り、これを行う理由はありません。例えば、同じ質問が異なる言い方をしていることに注意してください(C++の2つのアプローチの違いがあります)。 – SergeyA
[C++、静的ローカル変数(メソッド)とグローバル(ファイル)変数の違いは何ですか?](https://stackoverflow.com/questions/31578571/c-what-is-difference-between-static- – rustyx