On Saturday, 15 September 2012 at 18:05:55 UTC, Jonathan M Davis wrote:
I'd argue that using null for indicating something other than the lack of a value is bad design. But there are plenty of cases where being able to
indicate that there is no value is useful.
I agree.

And if a function requires that a
pointer or reference or array or whatever have a value, then there's always
DbC or exceptions.
So why not clear this up at compile time if possible? Then you can also easily distinguish between "really there" and "maybe there" objects by passing either a reference or a pointer.

Just because someone can misuse a feature  doesn't mean that
a feature shouldn't be there.
Why not set the "non-nullable references", which cannot be misused, as default and still enable the "nullable references" feature as optional by passing a pointer.

Reply via email to