On Sunday, 24 November 2013 at 20:38:29 UTC, deadalnix wrote:
On Sunday, 24 November 2013 at 14:12:18 UTC, Maxim Fomin wrote:
On Sunday, 24 November 2013 at 14:02:43 UTC, ilya-stromberg wrote:
On Sunday, 24 November 2013 at 13:57:22 UTC, Maxim Fomin wrote:
This is neither bug not a terribale feature. Have you coded in C?

Yes, only a little. I like D because it dissallow most of dangerous abbilities. We already have `is` operator for pointer comparison. Class doesn't provide cast to bool. So, why it's allowed?

void* ptr;
if(ptr)

was a shortcut for 'if(ptr != NULL)' probably since C was created.


No, it is a comparaison with 0. If NULL is 0 on all modern architectures I know of, this wasn't always the case.


It is comparison with NULL and zero (I though it is obvious that the code snippet is written in C), because NULL is always zero by definition ("an integer constant expression with the value 0, or such an expression casted to void*"). If this is not the case, then implementation is broken. Which of them you are talking about?

Reply via email to