C++ 可以在C++;返回某些内容,然后执行其代码?
这样做时:C++ 可以在C++;返回某些内容,然后执行其代码?,c++,operators,C++,Operators,这样做时: i2 = i++; ++操作符将返回i,然后将i增加1 函数是否也可以返回某个值,然后执行其代码?如果要自己实现后缀增量,则首先存储原始值,然后使用增量,但仍然返回原始值: Number Number::operator++ (int) { Number ans = *this; ++(*this); return ans; } 有关更多详细信息,请查看此常见问题解答: 因此,在C++中返回后没有函数代码执行。不,一旦函数的作用域结束(在关闭}时),就不能执行更多的代
i2 = i++;
++
操作符将返回i
,然后将i
增加1
函数是否也可以返回某个值,然后执行其代码?如果要自己实现后缀增量,则首先存储原始值,然后使用增量,但仍然返回原始值:
Number Number::operator++ (int)
{
Number ans = *this;
++(*this);
return ans;
}
有关更多详细信息,请查看此常见问题解答:
因此,在
C++
中返回后没有函数代码执行。不,一旦函数的作用域结束(在关闭}
时),就不能执行更多的代码
但是,该函数可以存储输入的旧状态,修改输入,并返回输入的旧值。这提供了在函数返回值后执行代码的效果。例如:
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
正如您所观察到的,后增量是此类行为有用的一个示例。另一个例子是,它给出了在返回值后修改输入的外观。No.
i++
存储旧值,然后执行其代码(增量),然后返回存储的值。在什么实际情况下这会有用?如果i
是int
,i++
不返回任何内容。这不是一个函数。它是一个表达式,其值是i
的旧值。表达有价值;函数返回值。他们不是一回事。当函数返回时,它就完成了;您可以在这里看到,用户讨论了returni++
expression的用法。一些答案指出,编译器无论如何都会生成更长的代码,就像编写intresult=i++我返回结果代码>。所以这并不重要。告诉我们你想做什么,而不是你想怎么做。