先頭に追加された二重コロン (::) の背後にあるもの?
先頭に追加された二重コロン (::) を使用するコードに遭遇した場合、 「: :Configuration * tmpCo = m_configurationDB;」という行のように、当惑した。この謎めいた構文の背後にある意味を詳しく調べてみましょう。
二重コロン :: は、次の 2 つの主な目的に使用されます:
グローバル名前空間解決:
名前空間の破壊の回避:
この概念をさらに説明するには、次のことを考慮してください。例:
class Configuration; // Global namespace, Class A namespace MyApp { class Configuration; // Local namespace, Class B void blah() { // Resolve to Class B (local) Configuration::doStuff(...) // Resolve to Class A (global) ::Configuration::doStuff(...) } }
ご覧のとおり、「: :Configuration * tmpCo = m_configurationDB;」で :: を使用します。これにより、クラス Configuration の解決がグローバル名前空間から開始されることが保証されます。これにより、他の名前空間内での名前の競合によって発生する可能性のあるあいまいさが回避されます。
以上がC における二重コロン (::) は何を意味しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。