Maison  >  Article  >  développement back-end  >  La différence entre :: et .

La différence entre :: et .

下次还敢
下次还敢original
2024-04-26 15:15:21856parcourir

Colon (::) est utilisé pour accéder à l'espace de noms global ou aux membres statiques d'une classe, tandis que le point (.) est utilisé pour accéder aux membres d'instance d'une classe. Par exemple, std::cout utilise :: pour accéder aux fonctions dans l'espace de noms global et obj.instanceVar utilise . pour accéder aux variables membres d'instance d'une classe.

La différence entre :: et .

Différence entre : et . utilisé pour accéder aux membres statiques d’une classe Membres d’instance d’une classe.

Réponse détaillée :

Colon (::)

est utilisé pour accéder aux identifiants, variables ou fonctions définis dans l'espace de noms global, tels que : std::cout.

Utilisé pour accéder aux membres statiques d'une classe (c'est-à-dire aux membres qui ne dépendent pas d'instances d'objet), par exemple : ClassName::staticMember. est utilisé pour qualifier les noms de classe afin d'éviter les conflits de noms, par exemple : namespaceA::ClassName.

  • std::cout
  • 用于访问类的静态成员(即不依赖于对象实例的成员),例如:ClassName::staticMember
  • 用于限定类名,从而避免名称冲突,例如:namespaceA::ClassName

句点 (.)

  • 用于访问类的实例成员(即与具体对象实例相关联的成员),例如:object.instanceMember
  • 用于调用类的成员函数,例如:object.memberFunction()
  • 用于访问对象指针或引用指向的成员,例如:*objectPtr.memberPeriod (.)

est utilisé pour accéder aux membres d'instance d'une classe (c'est-à-dire aux membres associés à des instances d'objet spécifiques), par exemple : object.instanceMember.

Utilisé pour appeler les fonctions membres d'une classe, par exemple : object.memberFunction(). 🎜🎜Utilisé pour accéder au membre pointé par le pointeur d'objet ou la référence, par exemple : *objectPtr.member. 🎜🎜🎜🎜Exemple : 🎜🎜
<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>

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn