Maison  >  Article  >  développement back-end  >  La différence entre :: et : en C++

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

下次还敢
下次还敢original
2024-04-26 17:57:15955parcourir

Le double deux-points (::) est utilisé pour la résolution de la portée de l'espace de noms et l'accès aux membres statiques de la classe, et le simple deux-points (:) est utilisé pour l'initialisation de la classe de base et la conversion de type implicite.

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

Différence entre :: et : en C++

Dans le langage de programmation C++, les opérateurs double deux-points (::) et single colon (:) ont des usages et des significations différents.

Double deux-points (::)

Double deux-points (::) l'opérateur est utilisé dans les scénarios suivants :

  • Résolution de la portée de l'espace de noms : L'accès à un espace de noms imbriqué, un élément d'espace de noms externe est utilisé. Par exemple :
<code class="cpp">namespace outer {
  int x = 10;
}

namespace inner {
  void printX() {
    std::cout << outer::x << std::endl;
  }
}</code>
  • Accès aux membres statiques de classe : Utilisé lors de l'accès aux fonctions membres statiques ou aux variables d'une classe. Par exemple : 
<code class="cpp">class MyClass {
public:
  static int numInstances = 0;
  
  static void printNumInstances() {
    std::cout << numInstances << std::endl;
  }
};</code>

Single colon(:)

Single colon(:) est utilisé dans les scénarios suivants :

  • Initialisation de la classe de base : Utilisé lors de l'initialisation des membres de la classe de base dans la classe dérivée constructeur. Par exemple :
<code class="cpp">class Base {
public:
  int x;
};

class Derived : public Base {
public:
  Derived(int x) : x(x) {}
};</code>
  • Conversion de type implicite : Utilisé pour forcer une valeur d'un type à un autre type. Par exemple :
<code class="cpp">int x = 10;
double y = static_cast<double>(x);</code>

Summary

Le double deux-points (::) est utilisé pour la résolution de la portée de l'espace de noms et l'accès aux membres statiques de la classe, tandis que le simple deux-points (:) est utilisé pour l'initialisation de la classe de base et la conversion de type implicite.

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