Make if statement with stricter test

Dan murpsoft at hotmail.com
Thu Apr 19 11:46:56 PDT 2007


Davidl Wrote:

> if(AA) <-- invalid
> 
> char[][char[]] k;
> if (k) // this code should be invalid, cause it could strongly be a typo  
> or some porting mistake from some
> C source
> 
> I hope if(identifier) only work for Bool & Pointer types

For an AA, I believe this works out to length - the length of the char[][] keys;

if(k) I believe checks k.keys.length by virtue of being at *(&k), which is 0 until you assign it a buffer.  This seems like the right behavior to me for an AA.

if(k) asks if k is a non-empty Associative Array.




More information about the Digitalmars-d mailing list