2010-01-29 29 views
10

¿Por qué el puntero this en C++ es un puntero y no una referencia?¿Por qué el puntero "this" en C++ es un puntero y no una referencia?

¿Hay casos de uso que me faltan que hacen de "esto" un puntero más útil que una referencia?

Si no es así, ¿hay implicaciones/consideraciones de diseño del lenguaje involucradas en tenerlo como un puntero?

+0

Ha votado para volver a abrir. Como se dijo actualmente, la pregunta tiene una respuesta inequívoca, que James McNellis publicó. –

+0

@KeithThompson, creo que las personas son demasiado rápidas para cerrar una pregunta que piensan que no se puede responder. Si quieres ofrecer un voto voluntario para otro aquí, es: http://stackoverflow.com/questions/13652006/why-accessing-to-class-variable-from-within-the-class-needs-self-in-python –

Respuesta

19

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

¿Por qué es "esto" no una referencia?

Porque "esto" se introdujo en C++ (realmente en C con clases) antes de que se agregaran las referencias. Además, elegí "esto" para seguir el uso de Simula, en lugar del uso (posterior) de Smalltalk del "yo".

Cuestiones relacionadas