@all : no need to argue on this ...output is compiler dependent ... it
violates sequence point rule :) :).

On Wed, May 30, 2012 at 2:26 AM, rahul ranjan <[email protected]>wrote:

> it first calculates from right to left.... and then performs addition....
> so after a++ its still 4(with a promise to increment in next
> statement)..... then ++a makes it 5..... then further ++a makes it 6....
> now the addition phase comes into play.... value of a is 6 now.... so total
> 18.... if it wud hav been a++ + a++ + a++.... sum wud hav been.... 12....
> and for next statement 'a' wud hav been 7....
>
>
> On Wed, May 30, 2012 at 1:32 AM, Hassan Monfared <[email protected]>wrote:
>
>> I implemented ++ for a simple class and got 17.
>> class A
>> {
>> public :
>> int val;
>> A(int v):val(v){}
>>  int operator++()
>> {
>> cout <<"empty arg called\n";
>>  return ++val;
>> }
>> int operator++(int x)
>>  {
>> cout <<x<<":arged arg called\n";
>> return val++;
>>  }
>> };
>> ------------------
>> A b(4);
>> cout <<++a + ++a +a++<<endl;
>> ------------
>> 17
>> but  story is different for your sample.
>> let me tell the fact with a simpler  problem :
>> int b=4;
>> cout << ++b + ++b ;
>> will print 12 instead of 11!
>> amazing huh ?
>> what happens from right to left is :
>> in the right statement  : b becomes 5:
>> in the left statement : b becomes 6 ( now be is 6 in both sides !)
>> so right_b + left_b = 6+6 = 12
>>
>> Regards
>>
>>
>> On Tue, May 29, 2012 at 11:43 PM, Prateek Jain <[email protected]
>> > wrote:
>>
>>> how is it 6?
>>> ++a(5) + ++a(6) + a++(6) it shud be 17
>>>
>>>  --
>>> You received this message because you are subscribed to the Google
>>> Groups "Algorithm Geeks" group.
>>> To post to this group, send email to [email protected].
>>> To unsubscribe from this group, send email to
>>> [email protected].
>>> For more options, visit this group at
>>> http://groups.google.com/group/algogeeks?hl=en.
>>>
>>
>>  --
>> You received this message because you are subscribed to the Google Groups
>> "Algorithm Geeks" group.
>> To post to this group, send email to [email protected].
>> To unsubscribe from this group, send email to
>> [email protected].
>> For more options, visit this group at
>> http://groups.google.com/group/algogeeks?hl=en.
>>
>
>  --
> You received this message because you are subscribed to the Google Groups
> "Algorithm Geeks" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected].
> For more options, visit this group at
> http://groups.google.com/group/algogeeks?hl=en.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Algorithm Geeks" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/algogeeks?hl=en.

Reply via email to