一个愚蠢的问题,是改变函数内部的函数参数值还是创建另一个变量来保存它,哪个更好?例如:
s16 functionA(s16 sum) {
u8 addy = 5;
sum += addy;
return sum;
}或
s16 functionA(s16 origin) {
u8 addy = 5;
s16 sum = origin + addy;
return sum;
}谢谢。
发布于 2013-09-24 19:16:46
可以写入参数,甚至在性能方面会更好,这取决于编译器的聪明程度。
另一方面,你的例子也可以写成:
s16 functionA(s16 sum)
{
const u8 addy = 5; /* Assuming this is more complex in reality. */
return sum + addy;
}赋值给sum然后返回它是没有意义的,这两个语句可以组合在一起。
发布于 2013-09-24 19:17:21
或
s16 functionA(s16 origin) {
u8 addy = 5;
return origin + addy;
}发布于 2013-09-24 19:18:55
因为第二个没有提高可读性,所以我会选择第一个。
此外,它在堆栈上节省了2个字节,这在嵌入式环境中可能很好(但编译器很可能会对其进行优化)。
https://stackoverflow.com/questions/18980030
复制相似问题