2012-08-25 29 views
6

Apuesto a que esto probablemente se haya preguntado antes, pero desde la referencia (int & nombre) se toma el mismo como recuento de referencias por los buscadores, no pude encontrar una sola cosa.Punteros inteligentes vs Referencia

¿Por qué no se menciona alguna vez las referencias como alternativas a los punteros inteligentes? ¿Es solo para el caso nulo, o hay algo más? ¿Qué ventajas/desventajas hay para usar cualquiera de ellas?

Respuesta

7

Creo que tiene su terminología mezclada. Una referencia y el término recuento de referencias no están realmente hablando de lo mismo.

Las referencias y los indicadores inteligentes, o incluso los indicadores, son muy diferentes y no son intercambiables.

No se puede volver a colocar una referencia. Lo que significa que una vez que tiene una referencia, solo puede referirse a lo que inicialmente se refiere. Una referencia es simplemente una dirección de memoria.

Un puntero por el contrario, apunta a una dirección de memoria; se puede cambiar para señalar diferentes direcciones de memoria.

Cuando alguien dice que un puntero inteligente hace referencia al recuento, significa que el puntero inteligente está contando cuántos objetos se refieren a la memoria a la que apunta el puntero inteligente. Esto es diferente de una referencia.

Espero que ayude.

+0

Sé muy bien que el recuento de referencias y referencias no es el mismo. Son los buscadores, como Google y el que está aquí, que no pueden ver la diferencia (contexto) y mostrarme sitios relacionados con el recuento de referencias y los indicadores inteligentes, en lugar de referencias y punteros inteligentes – efaj

+0

Pero no sabía referencias. No se cambia/intercambia ni se hace para hacer referencia a otra cosa. Ahora con eso ... es obvio por qué no reemplazan punteros inteligentes. – efaj

Cuestiones relacionadas