ファイルに静的関数を持つことの利点は何ですか?
ファイル内にグローバル関数を持つこととどう違うのでしょうか?
static int Square(int i)
{
return i * i;
}
対
int Square(int i)
{
return i * i;
}
ベストアンサー1
ファイルに静的関数を含めることの利点は何ですか?
これらの関数を使用すると、同じファイル内の他の関数に共有実装ロジックを提供できます。ファイルに固有のさまざまなヘルパー関数は、ファイル静的として宣言するのに適しています。
ファイル内にグローバル関数を持つこととどう違うのでしょうか?
これらはリンカーには見えないため、他のコンパイル ユニットが同じシグネチャを持つ関数を定義できます。名前空間を使用するとこの問題は大幅に軽減されますが、ファイルstatic
関数は C プログラミング言語から継承された機能であるため、名前空間よりも古くから存在しています。