当做这样的事情时:
i2 = i++;
++
运算符将返回i
,然后它将i
加一。
函数也可以返回一些东西然后执行它的代码吗?
最佳答案
不,一旦函数的范围结束(在结束 }
),就不能再执行任何代码。
但是,该函数可以存储输入的旧状态、修改输入并返回输入的旧值。这给出了在函数返回值之后执行代码的效果。例如:
int f(int &n) {
int x = n; // store input
n = 42; // input is modified before return
return x; // old input is returned
}
int b = f(a); // b is equal to a
// but now a is 42
正如您所观察到的,后增量是这种行为有用的一个例子。另一个例子是 std::exchange
,这看起来是在返回值后修改输入。
关于c++ - C++ 中的函数可以返回一些东西然后执行它的代码吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62658140/