|
Posted by Jerry Stuckle on 09/28/07 22:26
Summercool wrote:
> First of all, I think in the very traditional and basic form of
> "reference", it means "pointers".
>
> So that's why in C,
>
> when you say
>
> int *ip;
>
> i is a pointer or "reference" to an integer. and that's why when you
> use it to get back the integer, you need to do *ip and that's called
> "dereference".
>
No. C does not have references. ip is a pointer. Nothing more,
nothing less.
> So in C++, it seems that there is a different kind of reference, and
> that's like an alias type of reference? So in C++, Java, and PHP, you
> can have
>
> int i = 10
> int &j = i
> printf "%d", j and you get 10?
> j = 20
> printf "%d %d", i, j and both are 20 now?
>
j is a reference to i.
> that's different from the traditional pointer reference
>
> a = 10; b = 20
> int *ip = &a // ip pointers to an integer
> int *jp = ip // jp pointers to the same integer
> printf "%d", *jp
> *jp = 20
> printf "%d %d", *ip, *jp
>
>
Pointers ARE NOT REFERENCES!
--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstucklex@attglobal.net
==================
[Back to original message]
|