K
kwrzalik
Hello,
I was solving a C++ quiz that has the following question:
What is the outcome of running the following code:
int c=0;
cout<<c++<<c;
The answer says undefined. But in this case, isn't this statement
translated into:
cout.operator<<(c++).operator<<(c);
There should be a sequnce point before calling a funcion after
evaluation of the arguments. So shouldn't the incremented value of c be
stored before the call to first <<. If so it should be available for
the second <<, and the result would be 01.
Please help me with this confusion.
I was solving a C++ quiz that has the following question:
What is the outcome of running the following code:
int c=0;
cout<<c++<<c;
The answer says undefined. But in this case, isn't this statement
translated into:
cout.operator<<(c++).operator<<(c);
There should be a sequnce point before calling a funcion after
evaluation of the arguments. So shouldn't the incremented value of c be
stored before the call to first <<. If so it should be available for
the second <<, and the result would be 01.
Please help me with this confusion.