Je voulais juste connaître la différence entre. opérateur et :: opérateur? p>
3 Réponses :
L'ancien (dot, Considérez la configuration suivante. p> Dans ce cas, faire référence à la structure, membre d'un espace de noms, vous utilisez . code>) est utilisé pour accéder aux membres d'un objet, ce dernier (double côlon,
:: code>) est utilisé pour accéder aux membres d'un espace de noms ou une classe.
:: code>. Pour accéder à la variable dans un objet de type
type code>, vous utilisez
. Code>. P>
Donc, si nous utilisons un objet pour accéder à quelque chose, nous devons utiliser l'opérateur DOT, et si nous utilisons un nom de classe, nous devons utiliser ::, à droite?, pouvez-vous donner un exemple aussi, si vous ne vous dérange pas!
@ODX, c'est correct, donc si vous avez une variable statique ou une fonction d'une classe, vous utiliseriez "::" avec le nom de la classe pour les référencer, alors que si vous avez une fonction membre ou une variable membre, vous le feriez utilisation "." avec le nom d'une instance de la classe.
Si vous utilisez un pointeur sur une instance d'objet, vous devrez accéder aux membres de l'objet en utilisant -> à la place de "point" p>
Vous n'avez pas i> - p-> m code> est juste du sucre syntaxique pour
(* p) .m code>;)
Une autre façon de penser au quad-dot '::' est l'opérateur de résolution ou p> l'opérateur de point "." est d'appeler des méthodes et des attributs d'une instance d'objet p> il n'a pas été demandé, mais il y a un autre opérateur à utiliser si une instance d'objet
est créé de manière dynamique avec de la portée. Code> Dans les cas où il y a plus d'un objet dans le même nom qui ont le même nom. Vous déclarez explicitement lequel utiliser:
neuf code>, il s'agit de l'opérateur de flèche '->' p>