En venant d'autres langues dérivées C (comme Java ou C #) à C ++, il est tout d' abord très déroutant que C ++ a trois façons de se référer aux membres d'une classe: a::b
, a.b
, et a->b
. Quand dois-je utiliser lequel de ces opérateurs?
(Remarque: Ceci est censé être une entrée dans la FAQ C ++ de Stack Overflow . Si vous voulez critiquer l'idée de fournir une FAQ sous cette forme, alors la publication sur la méta qui a commencé tout cela serait l'endroit pour le faire. Réponses à cette question est surveillée dans le salon de discussion C ++ , où l'idée de FAQ a commencé en premier lieu, donc votre réponse est très susceptible d'être lue par ceux qui ont eu l'idée.)
.
et->
peut également être utilisé pour accéder à la statique de classe via un objet, même s'ils ne sont pas strictement "membres de l'objet".