On Tue, Jul 15, 2014 at 07:16:17PM +0000, Martin Krejcirik via Digitalmars-d 
wrote:
> On Tuesday, 15 July 2014 at 18:50:08 UTC, John Colvin wrote:
> >and not just because I don't like the comma. I'd say it's generally
> >bad practice to hide that write to `flag` inside the
> 
> You are right for the 'final' code, but the point of my example is,
> that I can move the flag to another if and don't have to change
> anything else.
> 
> Also an assignment is not allowed in a condition and without the comma
> operator, it wouldn't be possible at all. That's way too restrictive.

Not true:

        T* ptr;
        if ((ptr = getPtr()) !is null) {
                ...
        }

Nevertheless, it's a bad idea to have side effects in if-conditions. It
makes code hard to follow, and is a cosy place for subtle bugs to hide.


T

-- 
Never trust an operating system you don't have source for! -- Martin Schulze

Reply via email to