C の :: 記号は、名前の競合を解決し、次のような他のスコープの識別子にアクセスするために使用されるスコープ演算子です。 グローバル変数へのアクセス: 名前空間名をプレフィックスとしてグローバル変数にアクセスします。クラス メンバーにアクセスする: クラス名をプレフィックスとして付けることで、クラス メンバー変数または静的メンバー関数にアクセスします。クラス外のメンバー関数にアクセス: クラス外からメンバー関数を使用できるようにします。テンプレート クラス メソッドにアクセスする: 特定のインスタンス化のテンプレート クラス メソッドにアクセスします。
C の ::シンボル
C プログラミング言語では、::記号は、ネストされたスコープ内の識別子にアクセスするために使用される scope 演算子 を表します。
Role
:: シンボルは、名前の競合を解決し、他のスコープ内の識別子にアクセスするために使用されます。
使用法
グローバル変数へのアクセス:
<code class="cpp">namespace my_namespace { int my_var; } int main() { ::my_namespace::my_var = 10; }</code>
この例では、::my_namespace : :my_var を使用すると、main 関数から my_namespace 名前空間で定義された my_var 変数にアクセスできます。
クラス メンバーへのアクセス:
<code class="cpp">class MyClass { public: static int my_class_var; }; int main() { ::MyClass::my_class_var = 20; }</code>
ここで、::MyClass::my_class_var により、MyClass クラスの静的メンバー変数 my_class_var へのアクセスが許可されます。主な機能。
クラス外のメンバー関数へのアクセス:
<code class="cpp">class MyClass { void my_member_function(); }; void MyClass::my_member_function() { ::cout << "Hello World!" << endl; }</code>
:: を使用すると、クラスの外からクラスのメンバー関数にアクセスできます。 。
テンプレート クラスにアクセスするメソッド:
<code class="cpp">template <typename T> class MyTemplate { public: static void my_method(); }; void MyTemplate<int>::my_method() { ::cout << "This is an int template!" << endl; }</code>
:: 表記を使用すると、テンプレートの特定のインスタンス化のメソッドにアクセスできます。クラス。
以上がC++の記号::とは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。