References in D

Michael pr at m1xa.com
Fri Oct 5 14:09:04 PDT 2012


On Saturday, 15 September 2012 at 12:38:53 UTC, Henning Pohl 
wrote:
> The way D is dealing with classes reminds me of pointers 
> because you can null them. C++'s references cannot (of course 
> you can do some nasty casting). So you can be sure to have a 
> valid well-defined object. But then there is always the 
> ownership problem which renders them more dangerous as they 
> seem to be. D resolves this problem using a garbage collector.
>
> So why not combine the advantages of C++ references "always 
> there" guarantee and D's garbage collector and make D's 
> references not nullable? If you want it to be nullable, you can 
> still make use of real pointers. Pointers can be converted to 
> references by implicitly do a runtime check if the pointer is 
> not null and references can be converted back to pointers.
>
> I guess you had good reasons about choosing the nullable 
> version of D references. Explain it to me, please.

Just some links.
Info at least from 2004.

http://blogs.msdn.com/b/ericlippert/archive/2012/07/17/should-c-warn-on-null-dereference.aspx

http://blogs.msdn.com/b/cyrusn/archive/2005/04/25/411617.aspx

http://devtalk.net/csharp/chained-null-checks-and-the-maybe-monad/

google "site:msdn.com non nullable"

Personaly I think that "right tool/pattern for right job/task" is 
best solution. Maybe problem not in nullable references.



More information about the Digitalmars-d mailing list