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

La différence entre :: et .

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

La différence entre :: et . en C++

Réponse :
:: et . en C++ sont deux opérateurs différents utilisés pour accéder aux membres de classe et aux membres globaux.

Explication détaillée :

1. :: (opérateur de résolution de portée)

  • est utilisé pour accéder aux membres globaux, y compris les variables, fonctions et types déclarés en dehors de la classe.
  • Peut être utilisé pour résoudre les conflits de noms, par exemple lorsque le nom de la classe est le même que le nom de la variable globale.
  • Syntaxe : : nom du membre ;

2 . (opérateur d'accès aux membres)

  • est utilisé pour accéder aux membres de la classe, y compris les membres de données et les fonctions membres.
  • Doit être utilisé pour accéder aux membres des instances de classe.
  • Syntaxe : objet. nom du membre ;

Différence :

  • Portée d'accès :  : accéder aux membres globaux, .
  • Conflit de nom :  : Peut résoudre un conflit de nom. Impossible.
  • Dépendance d'instance : . Doit être utilisé pour accéder aux membres à partir d'instances de classe, :: n'est pas obligatoire.

Exemple :

Accès aux variables globales :

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

Accès aux données de la classe membres :

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

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

Résoudre les conflits de noms :

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

int global_var = 40;
cout << ::MyClass::global_var; //输出 30</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