Null references (oh no, not again!)

Walter Bright newshound1 at digitalmars.com
Wed Mar 4 14:49:42 PST 2009


Ary Borenszweig wrote:
> Walter Bright escribió:
>> Ary Borenszweig wrote:
>>> It's not like that. They don't require you to initialize a variable 
>>> in it's initializer, but just before you read it for the fist time. 
>>> That's very different.
>>
>> The only way to do that 100% reliably is to instrument the running code.
> 
> Java does it on compile time.

Java is a severely constrained language. Even so, how does it do with this:

Foo f;
if (x < 1) f = new Foo(1);
else if (x >= 1) f = new Foo(2);
f.member();

? (You might ask who would write such, but sometimes the conditions are 
much more complex, and/or are generated by generic code.)

> If it's done only for local variables then you don't need to instrument 
> the running code.

How about this:

Foo f;
bar(&f);

? Or in another form:

bar(ref Foo f);
Foo f;
bar(f);

Java doesn't have ref parameters.



More information about the Digitalmars-d mailing list