2010-05-26 14 views
21

¿Por qué la desreferenciación se llama desreferenciación?¿Por qué es la desreferenciación un puntero llamado desreferenciación?

Estoy aprendiendo los punteros correctamente, y me gustaría saber por qué se llama desreferenciación. Me confundió, ya que parece que está eliminando una referencia, en lugar de ir a través del puntero al destino.

¿Alguien puede explicar por qué se llama así?

Para mí, algo como destination or pointed_to_value tendría más sentido.

+3

El destino y el valor apuntado son sustantivos ... usted pregunta por el verbo en el título. :-) –

+0

Estoy de acuerdo, nunca tuvo ningún sentido para mí tampoco por qué se llama así. Lo preferiría si se llamara 'siguiente' o somesuch. –

+0

Creo que su referencia a la dirección correcta que estaba buscando. ¿La palabra desreferenciación es un término puramente CS? Sin usar esa palabra en mi vida aparte de esto, traté de suponer qué es lo que sucedió, ¡y es allí donde cometí un error, creo! ¿Es una palabra solo utilizada para esta situación? ¿Hay otros ejemplos en los que usarías este término? –

Respuesta

35

Un puntero se refiere a a un objeto. Ergo, nos desreferencia el puntero (o, obtener el referente del puntero) para obtener el objeto apuntado.

El prefijo de- muy probablemente proviene de la preposición latina que significa de; Supongo que se podría pensar en la desreferencia con el significado "para obtener el referente (u objeto) de la referencia."

+0

¿Puedes darnos cualquier otro ejemplo de la palabra que se usa fuera de CS? –

+1

@optician: No; Creo que es solo una jerga técnica. –

+0

Los punteros exhiben semántica de referencia. – Puppy

9

Desreferencia significa quitar la referencia y darle lo que en realidad se refiere.

Un puntero a something realmente significa que su variable de puntero tiene una dirección de memoria de something. Pero el puntero también se puede considerar como una referencia al something.

+0

¿Es un término puramente cs, o puede pensar en otra situación en la que usaría la misma palabra? –

+0

Hay miles de términos CS que no se usan en "el mundo real" – Adam

+0

Parecía tener algo que ver con hacer que un puntero sea nulo, en lugar de encontrar algo al final del mismo. Creo que pensé eso porque pensé que sonaba como una palabra que podría existir en el mundo real. –

Cuestiones relacionadas