En c ++, l'opérateur * peut être surchargé, comme avec un itérateur, mais l'opérateur flèche (->) (. *) Ne fonctionne pas avec les classes qui surchargent l'opérateur *. J'imagine que le préprocesseur pourrait facilement remplacer toutes les instances de -> par (* à gauche) .right, et cela rendrait les itérateurs plus agréables à implémenter. Y a-t-il une raison pratique pour -> d'être différent, ou est-ce juste une particularité de la langue / des concepteurs?