我最近问了这个问题是 return x++ 的行为;定义?
结果与我的预期差不多,但让我想到了类似的情况。
如果我要写
class Foo
{
...
int x;
int& bar() { return x++; }
};
bar 现在在哪里返回一个 int 引用,是否定义了这种行为?如果上一个问题的答案是真的,而不仅仅是对正在发生的事情的方便抽象,那么您似乎会返回对堆栈变量的引用,该堆栈变量将在执行返回时立即销毁。
如果它只是一个抽象,我很想知道后增量实际上保证了什么行为。