gpt4 book ai didi

c++ - 在函数中使用 "result variable"与原始变量返回之间的区别?

转载 作者:行者123 更新时间:2023-11-27 23:44:04 25 4
gpt4 key购买 nike

所以我正在为菜单/计算器程序使用变量,我被告知要在我的“练习题”之一中进行更改,如下所示:

  1. Make your calculator program perform computations in a separate function for each type of computation.

我的问题是,当使用这 4 个函数来处理四个简单算术运算中的每一个时,我不确定在此处使用以下语法之间有什么区别:

double addition(double x, double y)
{
return x + y;
}

相对于使用局部范围的“结果”变量来返回值?

double addition(double x, double y)
{
double result;
result = x + y;
return result;
}

我能得出的唯一结论是,在更高级的算术运算(例如圆的面积等)中可能会对输入 x 和 y 值进行更多操作,因此需要更多变量来执行该计算。

最后,两者中哪一个是更好的做法?我知道这是一个次要问题,但我只想学习正确的方法论,而不是养成不良的编程习惯。

最佳答案

C++ 是用优化编译器编译的。这意味着您可以用不同的方式编写相同的代码并获得相同的汇编输出。

添加一个额外的变量,通常会在不改变变量生命周期的情况下被优化掉。 (或者至少是明显的副作用)

添加一个额外的变量有一些好处:

  • 它有一个名字,这可能使它更具可读性
  • 对于调试版本,更容易查看值并在变量上添加断点

对于您展示的示例,我希望所有现代编译器都能生成相同的代码。

旁注:最好不要有未初始化的内存,你可以在赋值时声明你的变量。 (double result = x + y),谢谢 Neil Butterworth 在评论中提出这个建议。

关于c++ - 在函数中使用 "result variable"与原始变量返回之间的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52131860/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com