La différence entre :: et .
Apr 26, 2024 pm 03:39 PMLa 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 :
int global_var = 10; cout << ::global_var; //输出 10
Accès aux données de la classe membres :
class MyClass { public: int data_member = 20; }; MyClass object; cout << object.data_member; //输出 20
Résoudre les conflits de noms :
class MyClass { public: static int global_var = 30; }; int global_var = 40; cout << ::MyClass::global_var; //输出 30
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!

Article chaud

Outils chauds Tags

Article chaud

Tags d'article chaud

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Conception sécurisée de structures de données en programmation simultanée C++ ?

Comment implémenter un comparateur personnalisé en C++ STL ?

La disposition des objets C++ est alignée sur la mémoire pour optimiser l'efficacité de l'utilisation de la mémoire

Comment implémenter le Strategy Design Pattern en C++ ?

Similitudes et différences entre Golang et C++

Comment copier un conteneur STL C++ ?

Quels sont les principes d'implémentation sous-jacents des pointeurs intelligents C++ ?

Comment implémenter une programmation multithread C++ basée sur le modèle Actor ?
