string <-> null/bool implicit conversion

Timon Gehr via Digitalmars-d digitalmars-d at puremagic.com
Thu Aug 20 13:40:36 PDT 2015


On 08/20/2015 10:38 PM, Jonathan M Davis wrote:
> 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?

Because his goal is to check whether the array is empty or not, and 
comparing to null is one effective way to do it.

> 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