C++ の静的ローカル関数とグローバル関数 質問する

C++ の静的ローカル関数とグローバル関数 質問する

ファイルに静的関数を持つことの利点は何ですか?

ファイル内にグローバル関数を持つこととどう違うのでしょうか?

static int Square(int i)
{
   return i * i;
} 

int Square(int i)
{
   return i * i;
}

ベストアンサー1

ファイルに静的関数を含めることの利点は何ですか?

これらの関数を使用すると、同じファイル内の他の関数に共有実装ロジックを提供できます。ファイルに固有のさまざまなヘルパー関数は、ファイル静的として宣言するのに適しています。

ファイル内にグローバル関数を持つこととどう違うのでしょうか?

これらはリンカーには見えないため、他のコンパイル ユニットが同じシグネチャを持つ関数を定義できます。名前空間を使用するとこの問題は大幅に軽減されますが、ファイルstatic関数は C プログラミング言語から継承された機能であるため、名前空間よりも古くから存在しています。

おすすめ記事