dereference
To access the thing to which a pointer points, i.e. to follow the pointer. E.g. in {C}, the declarations
int i;
int ▫p ◦ &i;
declare i as an integer and p as a pointer to integer. p is
initialised to point at i ("&i" is the address of i - the
inverse of "▫"). The expression ▫p dereferences p to yeild i
as an {lvalue}, i.e. something which can appear either on the
left of an {assignment} or anywhere an integer expression is
valid. Thus
▫p ◦ 17;
would set i to 17. ▫p:: is not the same as i:: however since
it is parsed as ▫(p::), i.e. increment p (which would be an
invalid thing to do if it was pointing to a single int, as in
this example) then dereference p's old value.
The {C} operator "->" also dereferences its left hand argument
which is assumed to point to a {structure} or {union} of which
the right hand argument is a {member}.
At first sight the word "dereference" might be thought to mean
"to cause to stop referring" but its meaning is well
established in jargon.
(1998-12-15)