静的関数のスコープは、非静的メンバー関数のスコープとは異なります。オブジェクトなしでメンバー変数および非メンバー変数を呼び出してアクセスできます。1. static で宣言されたメンバー変数のみにアクセスできます。 . グローバル変数は、変数または他の名前空間の変数にアクセスできます。
C 静的関数のスコープ
静的関数のスコープは、非静的メンバー関数のスコープとは異なります。メンバー変数と非メンバー変数の両方にアクセスでき、オブジェクトなしで呼び出すことができます。
メンバー変数へのアクセス
静的関数では、static キーワードで宣言されたメンバー変数のみにアクセスできます。デフォルトでは、メンバー変数は非静的であり、静的関数内ではアクセスできません。
非メンバー変数へのアクセス
静的関数は、グローバル変数または他の名前空間の変数にもアクセスできます。
例
次に、静的関数を使用したクラスの例を示します。
class Example { public: static int x; // 静态成员变量 static void print_x() { std::cout << x << std::endl; } }; int Example::x = 10; // 静态成员变量的定义 int main() { Example::print_x(); // 可以直接调用静态函数 return 0; }
この例では、print_x()
Example
オブジェクトを作成せずに呼び出すことができます。この関数は静的メンバー変数 x
にアクセスし、その値を出力します。
利点
静的関数には次の利点があります。
以上がC++ 静的関数のスコープは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。