2010-01-29 6 views
10

Pourquoi le pointeur this dans C++ est-il un pointeur et non une référence?Pourquoi le pointeur "this" dans C++ est-il un pointeur et non une référence?

Y a-t-il des cas d'utilisation qui me manquent qui rendent "ceci" comme un pointeur plus utile qu'une référence?

Si ce n'est pas le cas, y a-t-il des implications/considérations de conception de langage impliquées dans l'avoir comme pointeur?

+0

Rouvert à ré-ouvrir. Comme indiqué actuellement, la question a une réponse sans équivoque - que James McNellis a posté. –

+0

@KeithThompson, je pense que les gens sont trop prompts à fermer une question à laquelle ils pensent qu'on ne peut pas répondre. Si vous voulez faire du bénévolat pour un autre, voici: http://stackoverflow.com/questions/13652006/why-accessing-to-class-variable-from-within-the-class-needs-self-in-python –

Répondre

19

De Bjarne Stroustrup's C++ Style and Technique FAQ:

Pourquoi "ce" pas une référence? Parce que "this" a été introduit en C++ (en C réellement avec Classes) avant que les références aient été ajoutées. Aussi, j'ai choisi "ceci" pour suivre l'utilisation de Simula, plutôt que (plus tard) l'utilisation de "self" par Smalltalk.

Questions connexes