Void のスコープ解決演算子
スコープ解決演算子 (::) は通常、特定のスコープのメンバーにアクセスするために使用されます。ただし、次の例のように、スコープなしで使用することもできます。
::foo();
スコープなしのスコープ解決演算子の目的
使用時スコープがない場合、スコープ解決演算子はグローバル スコープを参照します。これは、特定のクラスまたは名前空間内で定義されていないシンボルにアクセスすることを意味します。
スコープなしでスコープ解決演算子を使用する例
次のコードを考えてみましょう。
void bar(); // this is a global function class foo { void some_func() { ::bar(); } // this function is calling the global bar() and not the class version void bar(); // this is a class member };
上の例には 2 つの bar() 関数があります。1 つはグローバル関数で、もう 1 つはグローバル関数です。もう 1 つはクラスのメンバー関数です。クラス メンバー関数 some_func() 内から bar() を呼び出すと、クラス メンバー関数が呼び出されます。ただし、::bar() を使用すると、グローバル bar() 関数に明示的にアクセスできます。
要約すると、スコープのないスコープ解決演算子はグローバル スコープを参照し、グローバル シンボルにアクセスできるようになります。あらゆるコンテキスト。これは、同じ名前を持つ複数のシンボル間の曖昧さをなくす必要がある場合、またはクラス メンバー関数内からグローバル シンボルにアクセスする必要がある場合に特に便利です。
以上がスコープ解決演算子 (::) はスコープなしで何をしますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。