Maison > développement back-end > C++ > Que fait l'opérateur de résolution de portée (::) sans portée ?

Que fait l'opérateur de résolution de portée (::) sans portée ?

Mary-Kate Olsen
Libérer: 2024-12-06 22:16:13
original
449 Les gens l'ont consulté

What Does the Scope Resolution Operator (::) Do Without a Scope?

L'opérateur de résolution de portée dans un vide

L'opérateur de résolution de portée (::) est généralement utilisé pour accéder aux membres d'une portée spécifique. Cependant, il peut également être utilisé sans scope, comme dans l'exemple suivant :

::foo();
Copier après la connexion

Objectif de l'opérateur de résolution de scope sans scope

Lorsqu'il est utilisé sans portée, l'opérateur de résolution de portée fait référence à la portée globale. Cela signifie qu'il accède à des symboles qui ne sont définis dans aucune classe ou espace de noms spécifique.

Exemple d'utilisation de l'opérateur de résolution de portée sans portée

Considérez le code suivant :

void bar();    // this is a global function

class foo {
    void some_func() { ::bar(); }    // this function is calling the global bar() and not the class version
    void bar();                      // this is a class member
};
Copier après la connexion

Dans l'exemple ci-dessus, il y a deux fonctions bar() : l'une est une fonction globale et l'autre est une fonction membre de classe. Si vous appelez bar() depuis la fonction membre de la classe some_func(), cela appellera la fonction membre de la classe. Cependant, en utilisant ::bar(), vous pouvez accéder explicitement à la fonction globale bar().

En résumé, l'opérateur de résolution de portée sans portée fait référence à la portée globale, vous permettant d'accéder aux symboles globaux depuis n’importe quel contexte. Ceci est particulièrement utile lorsque vous devez lever l'ambiguïté entre plusieurs symboles portant le même nom ou lorsque vous devez accéder à des symboles globaux à partir d'une fonction membre de classe.

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!

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