スコープ解決演算子: ::

スコープ解決演算子のコンパイラ :: と識別子を前に付けることによりローカル識別子ではなくグローバル識別子を使用するように指定できます。

:: identifier
class-name :: identifier
namespace :: identifier

解説

識別子は 変数または関数のいずれかです。

ローカル スコープ入れ子になったスコープ解決演算子は次の最も外側のスコープ識別子にはアクセスできません。これはグローバル識別子にのみアクセスを提供します。

使用例

この例で amount という 2 種類の変数があります。1 番目のはグローバルで値 123 が含まれます。2 番目の main 関数に対してローカルです。スコープ解決演算子はコンパイラでローカルの例ではなくグローバル amount を使用するように指定します。

// expre_ScopeResolutionOperator.cpp
// compile with: /EHsc
// Demonstrate scope resolution operator
#include <iostream>

using namespace std;

int amount = 123;   // A global variable

int main() {
   int amount = 456;   // A local variable
   cout  << ::amount << endl   // Print the global variable
         << amount << endl;    // Print the local variable
}

参照

関連項目

C++ の演算子

演算子の優先順位と結合規則

名前空間 (C++)

名前と修飾名