将函数结果作为"output parameter"返回是什么意思?

What does it mean to return a function result as an "output parameter"?

本文关键字:返回 是什么 意思 parameter output 结果 函数      更新时间:2023-10-16

嗨,我希望我能更好地理解一些关于C++的东西。我们正在学习函数,我错过了一节课,我认为这是一节错误的课,因为我太困惑了。关于清晰简洁的方向和对术语的理解,我有两个问题。这是我的第一个:

a) 编写一个名为"product"的C++函数,计算传递给它的两个整数值的乘积。该函数将接受两个输入参数,并将计算出的答案作为函数的输出参数返回。b) 编写一行代码,这些代码可能用于调用(调用)此函数。

这是第二个:a)编写一个名为"product"的C++函数,计算传递给它的两个整数值的乘积。该函数将接受两个输入参数,并返回乘积答案作为函数执行的结果。b) 编写一行代码,这些代码可能用于调用(调用)此函数。

所以我的猜测是,第二个应该是这样的:

int product(int a, int b)
{ return a*b; }

b部分为cout<lt;"您的两个数字的乘积是"<lt;产品(a,b);

首先,我是对的吗?不管怎样,返回答案作为输出参数意味着什么。当我在的时候,你想可怜我,你能告诉我我应该用void而不是int吗?最后,有人能更好地解释什么是引用返回吗。我了解它的整个方面需要有一个&在参数的末尾,"技术上"它允许我更改它,而不仅仅是返回它,但我希望有更深入的东西?很抱歉这么需要帮助,但我们将不胜感激。谢谢Lynda

第页。S.我本想把它标记为家庭作业,但它被否决了。很抱歉

输出参数是从函数发回数据的另一种方式。本质上,您不返回值,而是向函数发送一个答案所在的框。将答案放入框中会对其进行修改,并且可以在函数运行后从中获取答案。

"标准"返回值(正如您所做的):

int product(int a, int b)
{ return a*b; }

调用标准函数:

int answer = product(10, 5);
cout << answer << endl;

一个"输出参数":不是将answer作为实际值(如5或3)传递,而是将一个框发送到答案所在的位置;更改此框的内容也会更改main函数中变量的值(表示为int & answer而不是int answer)。

void product_output_parameter(int a, int b, int & answer)
{ answer = a*b; }

调用函数:

int answer;
// send answer in as a place to put the answer
product_output_parameter(10, 5, answer);
// the value stored in answer has changed
cout << answer << endl;

如果函数是这样定义的:

void product_output_parameter(int a, int b, int answer)
{ answer = a*b; }

answer的更改只会发生在函数内部,因此它不起作用。

希望这能有所帮助!

您编写的函数计算乘积并调用乘积函数。您也可以这样调用它。

int productOfAandB=乘积(a,b);

引用允许对被调用者的调用者范围内的变量进行更改。典型的例子是把Bob送到更衣室换PE,在这个过程中,Bob只是去更衣室换,然后告诉Bob这样做的过程继续到换过的Bob。如果Bob被复制到更衣室,然后从更衣室返回以替换原来的Bob,那么它的行为更像是一个返回值函数。

  1. 按值传递,按值返回BOB=变动ForPE(BOB);//这实际上用一个全新的北京银行取代了北京银行
  2. 传递参考changeForPE(&BOB);//该函数能够对BOB中存储的变量执行某些操作//但它似乎没有覆盖BOB变量