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.

There is no problem with classes or pointers convertion to booleans in condition statements, it is not a dangerous ability. Is operator is not restricted to pointer comparison, you can use it to bitwise compare any objects.


I'd like to know why this feature is dangerous as well.

Reply via email to