【发布时间】:2020-07-21 07:41:34
【问题描述】:
虽然这个问题可能在某处得到解答,但我找不到。
下面写的第一条语句有效,而第二条则没有?为什么?
int main() {
int x = 1, y = 2;
int *p = &++x; // First
std::cout << "*p = " << *p << std::endl;
// int *q = &x++; // Second
// std::cout << "*q = " << *p << std::endl;
}
【问题讨论】:
-
&x++甚至不会编译。通俗地说,它返回一个临时的。
标签: c++ post-increment pre-increment unary-operator postfix-operator