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

C++ の :: と の違い

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

コロン (::) は、クラスのグローバル名前空間または静的メンバーにアクセスするために使用され、ピリオド (.) は、クラスのインスタンス メンバーにアクセスするために使用されます。たとえば、 std::cout は :: を使用してグローバル名前空間内の関数にアクセスし、 obj.instanceVar は を使用してクラスのインスタンス メンバー変数にアクセスします。

C++ の :: と の違い

:: と .

短い答え:

コロン (::) はグローバル名前空間またはクラスの静的メンバーにアクセスするために使用され、ピリオド (.) はクラスのインスタンス メンバーにアクセスするために使用されます。

詳細な回答:

コロン (::)

  • は、グローバルで定義されたオブジェクトにアクセスするために使用されます。名前空間 識別子、変数、または関数 (例: std::cout)。
  • クラスの静的メンバー (つまり、オブジェクト インスタンスに依存しないメンバー) にアクセスするために使用されます (例: ClassName::staticMember)。
  • は、名前の競合を避けるためにクラス名を修飾するために使用されます (例: namespaceA::ClassName)。

ピリオド (.)

  • は、クラスのインスタンス メンバー (つまり、特定のオブジェクト インスタンスに関連付けられたメンバー) にアクセスするために使用されます。例: object.instanceMember
  • クラスのメンバー関数を呼び出すために使用されます (例: object.memberFunction())。
  • は、オブジェクト ポインターまたは参照が指すメンバーにアクセスするために使用されます (例: *objectPtr.member)。

例:

<code class="cpp">// 全局命名空间的函数
std::cout << "Hello world!" << std::endl;

// 类的静态成员变量
class MyClass {
public:
    static int staticVar;
};
int MyClass::staticVar = 42;

// 类的实例成员变量和函数
class MyObject {
public:
    int instanceVar;
    void instanceFunc() {
        std::cout << instanceVar << std::endl;
    }
};
MyObject obj;
obj.instanceVar = 10;
obj.instanceFunc(); // 输出: 10</code>

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

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