lvalue with increment operators

S

srinivas reddy

Assuming that x is an int, why int* p = &++x is legal and int* p =
&x++ or int* p = &(x++) is illegal.

tia,
Srinivas
 
V

Victor Bazarov

srinivas reddy said:
Assuming that x is an int, why int* p = &++x is legal and int* p =
&x++ or int* p = &(x++) is illegal.

'x++' does not return an lvalue. You cannot take address of
something that is not an lvalue. '++x' returns 'x' after it
has been incremented. And in this case 'x' is an lvalue.

Victor
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,580
Members
45,054
Latest member
TrimKetoBoost

Latest Threads

Top