7
哪个更有效:返回值与通过引用传递?
我目前正在研究如何编写有效的C ++代码,并且在函数调用方面,我想到了一个问题。比较此伪代码功能: not-void function-name () { do-something return value; } int main () { ... arg = function-name(); ... } 使用以下否则相同的伪代码函数: void function-name (not-void& arg) { do-something arg = value; } int main () { ... function-name(arg); ... } 哪个版本更有效,在哪个方面(时间,内存等)更有效?如果取决于,那么什么时候第一个会更有效率,什么时候第二个会更有效率? 编辑:就上下文而言,此问题仅限于与硬件平台无关的差异,并且大多数情况下也限于软件。是否存在与机器无关的性能差异? 编辑:我看不到这是重复的。另一个问题是比较按引用传递(上一个代码)与按值传递(下一个): not-void function-name (not-void arg) 这和我的问题不同。我的重点不是哪个是将参数传递给函数的更好方法。我关注的是这是更好的方式来传递出一个结果来自外部范围的变量。