静的関数は、クラス インスタンスなしでクラス内でのみ表示され、ツール クラスのメソッドに使用されます。一方、グローバル関数は、クラスやインスタンスなしでプログラム全体内で表示され、独立した関数に使用されます。
#C の静的関数とグローバル関数の違い
はじめにC では、static関数とグローバル関数は、機能とスコープが異なる 2 種類の関数です。それらの違いを理解することは、明確で保守しやすいコードを作成するために重要です。
静的関数静的関数は通常のメンバー関数と似ていますが、クラスの非静的メンバー データにはアクセスできません。これらは通常、クラスの状態へのアクセスを必要としないユーティリティ クラス メソッドを実装するために使用されます。
宣言と定義
class MyClass { public: static int add(int a, int b) { return a + b; } };
スコープと呼び出し可能性静的関数は、クラスのスコープ内でのみ表示されます。これは、クラスのインスタンスを作成せずに、クラス名によって直接呼び出すことができることを意味します。
int result = MyClass::add(10, 20); // 输出 30
グローバル関数グローバル関数はどのクラスにも属しません。これらはプログラムの範囲全体で表示されます。これらは、I/O 操作や数学的操作など、クラスに依存しない機能を定義するために使用されます。
宣言と定義
int add(int a, int b) { return a + b; }
スコープと呼び出し可能性グローバル関数は、プログラム内のどこからでもアクセスして呼び出すことができます。
int result = add(10, 20); // 输出 30
差異表
静的関数 | グローバル関数 | |
---|---|---|
クラスに限定 | プログラム範囲 | |
クラス インスタンスは必要ありません | クラスやインスタンスは必要ありません | |
クラス内 | プログラム全体 | |
ツール クラスのメソッド | 独立した機能 |
実際のケース
例 1: 静的関数 面積を計算する静的
calculateArea 関数を含む
Math クラスを作成します。円。
class Math { public: static double calculateArea(double radius) { return (3.14 * radius * radius); } };
呼び出し:
double area = Math::calculateArea(5); // 输出 78.5
例 2: グローバル関数
displayMessage グローバル関数、この関数を定義します。渡されたメッセージを出力します。
void displayMessage(const string& message) { cout << message << endl; }
Call:
displayMessage("Hello world!"); // 输出 "Hello world!"
結論静的関数とグローバル関数の違いを理解することは、明確で保守可能な C コードを作成するために不可欠です。重要です。静的関数はクラス内のユーティリティ クラス メソッドに使用され、グローバル関数はプログラム スコープ内で使用できる独立した機能に使用されます。
以上がC++ の静的関数とグローバル関数の違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。