C++ の :: と の違い

下次还敢
リリース: 2024-04-26 15:39:13
オリジナル
1021 人が閲覧しました

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

関連ラベル:
c++
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート