首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在C++中更改函数内部的函数参数值

在C++中更改函数内部的函数参数值
EN

Stack Overflow用户
提问于 2013-09-24 19:12:04
回答 3查看 107关注 0票数 1

一个愚蠢的问题,是改变函数内部的函数参数值还是创建另一个变量来保存它,哪个更好?例如:

代码语言:javascript
复制
s16 functionA(s16 sum) {
u8 addy = 5; 
sum += addy; 
return sum;
}

代码语言:javascript
复制
s16 functionA(s16 origin) {
u8 addy = 5; 
s16 sum = origin + addy; 
return sum;
}

谢谢。

EN

回答 3

Stack Overflow用户

发布于 2013-09-24 19:16:46

可以写入参数,甚至在性能方面会更好,这取决于编译器的聪明程度。

另一方面,你的例子也可以写成:

代码语言:javascript
复制
s16 functionA(s16 sum)
{
  const u8 addy = 5; /* Assuming this is more complex in reality. */
  return sum + addy;
}

赋值给sum然后返回它是没有意义的,这两个语句可以组合在一起。

票数 2
EN

Stack Overflow用户

发布于 2013-09-24 19:17:21

代码语言:javascript
复制
s16 functionA(s16 origin) {
    u8 addy = 5;
    return origin + addy;
}
票数 0
EN

Stack Overflow用户

发布于 2013-09-24 19:18:55

因为第二个没有提高可读性,所以我会选择第一个。

此外,它在堆栈上节省了2个字节,这在嵌入式环境中可能很好(但编译器很可能会对其进行优化)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18980030

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档