Maison > développement back-end > C++ > le corps du texte

La différence entre :: et .

下次还敢
Libérer: 2024-04-26 15:39:13
original
1021 Les gens l'ont consulté

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>
Copier après la connexion

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>
Copier après la connexion

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>
Copier après la connexion

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!

Étiquettes associées:
c++
source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal