小编cka*_*afi的帖子

直接使用函数的返回值而不将其存储在变量中是否更好?

我正在与一位同事讨论如何在我们的代码库中构造返回代码检查。在很多地方,代码看起来像这样:

logOnError(functionWithLotsOfParameters(a, b, c, d, etc),
           "Error Message", module_name, some_more_stuff);
Run Code Online (Sandbox Code Playgroud)

我认为这种隐藏了这里实际发生的事情,即内部函数的函数调用。我想像这样构造代码:

ReturnType ret;
ret = functionWithLotsOfParameters(a, b, c, d, etc);
logOnError(ret, "Error Message", module_name, some_more_stuff);
Run Code Online (Sandbox Code Playgroud)

ReturnType在这种情况下基本上只是一个unsigned int. 我的同事认为,这不必要地增加了函数的堆栈大小,这可能是一个问题,因为它在嵌入式系统上运行,而我们在某种程度上受到内存限制。

我的反驳观点是,即使在第一种情况下,返回值也必须位于内存中的某个位置,所以我认为占用空间不会增加。

谁是对的?

c memory

1
推荐指数
1
解决办法
98
查看次数

标签 统计

c ×1

memory ×1