I was talking about telling the 'undefined behaviour' case; not
what happens with the values exactly. I don't see a drawback in
documenting an 'undefined behaviour'. It's good for people to
have a torough documentation which even warns them before they're
doing silly things. Note that the majority of users of PHP are
non-programmers. Warning them before they shoot themselves a good
thing [tm].

On Mon, Dec 23, 2002 at 08:53:41AM -0800, David Gillies wrote : 
> --- Markus Fischer <[EMAIL PROTECTED]> wrote:
> >     So shouldn't we document those special case on
> > the operators
> >     page ?
> >
> 
> No. Any developer worth his salt knows not to do silly
> things like this. It's not a 'special case'. It's just
> undefined behaviour. If your code uses syntax like
> this it is broken.
> 
> As for 'why', in the implementation sense, this
> happens, I would imagine that the reference, by
> increasing the refcount of the variable, moves
> evaluation of the postincrement operator to a
> different sequence point. Just don't do it. Modifying
> the value of a variable twice between sequence points
> yields UNDEFINED BEHAVIOUR. That mean anything at all
> can happen, up to and including your hard drive being
> reformatted and rude emails being sent to your boss.
> 
> You do NOT neeed to know the details. As K&R points
> out: "if you don't know *how* [assorted weird tricks]
> are done on various machines, that innocence may help
> to protect you."
> 
> Best Wishes
> 
> David Gillies
> San Jose
> Costa Rica
> 
> 
> > On Sun, Dec 22, 2002 at 10:26:08AM +0200, Andrey
> > Hristov wrote : 
> > > oukei, stopping to ask anymore :))
> > > 
> > > Andrey
> > > 
> > > 
> > > ----- Original Message -----
> > > From: "Andi Gutmans" <[EMAIL PROTECTED]>
> > > To: "Andrey Hristov" <[EMAIL PROTECTED]>;
> > <[EMAIL PROTECTED]>
> > > Sent: Saturday, December 21, 2002 7:20 PM
> > > Subject: Re: [PHP-DEV] Interesting result
> > > 
> > > 
> > > > Again, as it is undefined in PHP the question
> > "Why" in itself is wrong :)
> > > >
> > > > Andi
> > > >
> > > > At 04:43 PM 12/21/2002 +0200, Andrey Hristov
> > wrote:
> > > >
> > > > >----- Original Message -----
> > > > >From: "Andi Gutmans" <[EMAIL PROTECTED]>
> > > > >To: "Andrey Hristov" <[EMAIL PROTECTED]>;
> > <[EMAIL PROTECTED]>
> > > > >Sent: Saturday, December 21, 2002 4:17 PM
> > > > >Subject: Re: [PHP-DEV] Interesting result
> > > > >
> > > > >
> > > > > > It doesn't matter because the behavior here
> > is undefined just like in
> > > C.
> > > > > > You can't use a variable and it's post/pre
> > increment value in the same
> > > > > > expression.
> > > > > >
> > > > >
> > > > >Two years ago I've been told by a professort
> > that a+++a+++a depends on
> > > the
> > > > >language and the compiler. Yesterday i found
> > this page :
> > > >
> > >http://www.blueshoes.org/en/developer/syntax_exam/
> > > > >If a=1 ->
> > > > >Java : 6
> > > > >PHP : 6
> > > > >gcc 2.95  : 3
> > > > >
> > > > >I know that is "on the edge" and I will never
> > use it in real script by I
> > > was
> > > > >curious why the
> > > > >reference change the result.
> > > > >
> > > > >Best wishes,
> > > > >Andrey
> > > > >
> > > > > >
> > > > > > At 03:26 PM 12/21/2002 +0200, Andrey Hristov
> > wrote:
> > > > > > >  Hi,
> > > > > > >i got an interesting case  :
> > > > > > >
> > > > > > ><?php
> > > > > > >$a = 1;
> > > > > > >var_dump($a + $a++);
> > > > > > >
> > > > > > >
> > > > > > >$a = 1;
> > > > > > >$x = &$a;
> > > > > > >var_dump($a + $a++);
> > > > > > >
> > > > > > >?>
> > > > > > >Result
> > > > > > >int(2)
> > > > > > >int(3)
> > > > > > >
> > > >
> > > 
> > > 
> > > -- 
> > > PHP Development Mailing List <http://www.php.net/>
> > > To unsubscribe, visit:
> > http://www.php.net/unsub.php
> > 
> > -- 
> > PHP Development Mailing List <http://www.php.net/>
> > To unsubscribe, visit: http://www.php.net/unsub.php
> > 
> 
> 
> __________________________________________________
> Do you Yahoo!?
> Yahoo! Mail Plus - Powerful. Affordable. Sign up now.
> http://mailplus.yahoo.com

-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to