先頭に追加された二重コロン「::」の重要性を明らかにする
次のようなコード行が見つかった場合:
::Configuration * tmpCo = m_configurationDB;//pointer to current db
クラス名の前に二重コロンが付いていることに戸惑う人もいるかもしれません。その目的を明確にするには:
グローバル名前空間解決
二重コロンは、現在の名前空間に関係なく、グローバル名前空間からクラス、関数、または変数にアクセスする手段として機能します。名前空間のスコープ。これは、複数の名前空間が原因で名前の衝突が発生する場合に特に便利です。
たとえば、次のシナリオを考えてみましょう。
class Configuration; // global namespace namespace MyApp { class Configuration; // MyApp namespace }
MyApp 名前空間内では、Configuration クラスはグローバル Configuration クラスとは異なります。 。ただし、名前空間を指定せずに Configuration を使用すると、MyApp::Configuration に解決されます。
確実にグローバル名前空間に解決するには、二重コロンを使用できます:
::Configuration::doStuff() // resolves to the global Configuration
このコンテキストでは、先頭に追加された二重コロンにより、現在の名前空間ではなく、グローバル名前空間から解決が行われることが保証されます (この場合、 MyApp).
以上がC コードの先頭に追加された「::」は何を示していますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。