Proposal: Reference Variables

Bruno Medeiros brunodomedeirosATgmail at SPAM.com
Sun Apr 9 11:31:02 PDT 2006


Hasan Aljudy wrote:
> S. Chancellor wrote:
>> I would like to suggest the following variable type added to D as a 
>> supplement to pointers.  Please review the following code and suggest 
>> modifications and additions as you see.
>>
>> Thanks!
>>
>> -S.
>>
>> Oh yes, and please assume all the following asserts PASS.
>>
>>
>> long x = 2;
>> long& y = &x;
>>
>> assert(y == 2);
>>
>> y = 4;
>>
>> assert(x == 4);
>>
>> assert(&y == &x);  //Notice the change in the operation of &.  Not a 
>> handle to x!
>>
>> long z = 5;
>>
>> &y = &z;  //& Allows l-value assignment,
>>
>> assert( y == 5 );
>>
>> assert( &y == &z );
>>
>> assert(y.sizeof == z.sizeof);  //Sizeof gives information on 
>> referenced type, not reference.  Ditto for other properties
>>
> 
> While I like the idea of references and refernce semantics for things 
> like structs and whatnot, I think the C++ & operator is the *wrong* way 
> to do it.

What do you mean "reference semantics"? "References" (as in "reference 
variables, "alias references", or "c++ references") do not give 
"reference semantics", (as in "reference types").

-- 
Bruno Medeiros - CS/E student
http://www.prowiki.org/wiki4d/wiki.cgi?BrunoMedeiros#D



More information about the Digitalmars-d mailing list