ホームページ  >  記事  >  バックエンド開発  >  C++ の :: と の違い

C++ の :: と の違い

下次还敢
下次还敢オリジナル
2024-04-26 15:39:131004ブラウズ

C の :: と . の違い

回答:
C の :: と . は、クラスにアクセスするために使用する 2 つの異なる演算子です。メンバーとグローバルメンバー。

詳細な説明:

1. :: (スコープ解析演算子)

  • は、グローバル メンバー (クラス外で宣言された変数、関数、型など)。
  • は、クラス名がグローバル変数名と同じである場合など、名前の競合を解決するために使用できます。
  • 構文: :: メンバー名;

2. (メンバーアクセス演算子)

  • はクラスにアクセスするために使用されます。メンバー (データ メンバーとメンバー関数を含む)。
  • クラス インスタンスからメンバーにアクセスするために使用する必要があります。
  • 構文: オブジェクト.メンバー名;

相違点:

  • アクセス範囲:::グローバル メンバー、.クラス メンバーにアクセスします。
  • 名前の競合: :: 名前の競合は解決できますが、解決できません。
  • インスタンスの依存関係: 。クラス インスタンスからメンバーにアクセスするために使用する必要があります。:: は必要ありません。

#例:

グローバル変数へのアクセス:

<code class="cpp">int global_var = 10;
cout << ::global_var; //输出 10</code>

クラス データ メンバーへのアクセス:

<code class="cpp">class MyClass {
public:
    int data_member = 20;
};

MyClass object;
cout << object.data_member; //输出 20</code>

名前の競合の解決:

<code class="cpp">class MyClass {
public:
    static int global_var = 30;
};

int global_var = 40;
cout << ::MyClass::global_var; //输出 30</code>

以上がC++ の :: と の違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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