ホームページ >バックエンド開発 >C++ >C コードの先頭に追加された「::」は何を示していますか?

C コードの先頭に追加された「::」は何を示していますか?

Susan Sarandon
Susan Sarandonオリジナル
2024-12-20 12:20:10949ブラウズ

What Does the Prepended

先頭に追加された二重コロン「::」の重要性を明らかにする

次のようなコード行が見つかった場合:

::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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。