string <-> null/bool implicit conversion

Jonathan M Davis via Digitalmars-d digitalmars-d at puremagic.com
Thu Aug 20 13:38:35 PDT 2015


On Thursday, 20 August 2015 at 19:54:22 UTC, Steven Schveighoffer 
wrote:
> On 8/20/15 3:41 PM, Jonathan M Davis wrote:
>> On Thursday, 20 August 2015 at 17:50:11 UTC, Steven 
>> Schveighoffer wrote:
>>> if(arr != null)
>>
>> Definitely don't do that. IMHO, "== null and "!= null" should 
>> be
>> illegal. If you really want to check for null, then you need 
>> to use "is
>> null" or "!is null", whereas if you want to check that an 
>> array is
>> empty, check its length or call empty. By using "== null" or 
>> "!= null",
>> you tend to give the false impression that you're checking 
>> whether the
>> object or array is null - which is not what you're actually 
>> doing.
>
> On the contrary, checking if it's equal to null checks to see 
> if it has the same elements as null. That's exactly what I 
> would want.

And why would you want that? The length is meaningless if the 
pointer is null. It shouldn't even be possible for the length to 
be anything other than zero if the pointer is null.

- Jonathan M Davis




More information about the Digitalmars-d mailing list