Question

Je comprends que lorsque je déclare une fonction membre comme constant, je dis que je ne changerai pas la classe. Ma question - «classe» fait-elle référence à (*) cette instance ou à la classe en général?

Pour exmaple - si j'ai une fonction de membre const qui créent une nouvelle instance de la même classe et modifiez cette instance, est-ce légal?

Merci!

Était-ce utile?

La solution

La const fait référence à l'instance sur laquelle vous appelez la fonction, c'est également pourquoi les fonctions des membres statiques ne peuvent pas être déclarés const. Une fonction const peut lire, mais pas écrire, les champs du this Instance, et il ne peut appeler que des méthodes statiques et const de this, mais il a un accès complet à la portée mondiale.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top