Pointers and references: Difference between revisions

Content added Content deleted
(Fixed template. (doh!))
No edit summary
Line 57: Line 57:
Accessing another object of the array through the reference:
Accessing another object of the array through the reference:
v = (&ref)[3]; // read value of array[3]; however doing this is bad style
v = (&ref)[3]; // read value of array[3]; however doing this is bad style

==[[Tcl]]==

Tcl does not have pointers, however if required a similar level of indirection can be had by storing a variable name in another variable, eg.

set var 3
set pointer var; # assign name "var" not value 3
set pointer; # returns "var"
set $pointer; # returns 3
set $pointer 42; # variable var now has value 42

In practice it's safer and more convenient to use array keys, eg.

set arr(var) 3
set pointer var
set arr($pointer); # returns 3
set arr($pointer) 42; # arr(var) now has value 42