【发布时间】:2012-08-23 01:11:05
【问题描述】:
这真的让我很烦,来自 C# 背景。
有时,我看到这样写的函数:
int computeResult();
这是我习惯的。但后来我看到它们是这样写的:
void computeResult(int &result);
我觉得这很奇怪。如果有的话,第二种方法比第一种方法有什么好处?一定有什么,因为我经常看到。
【问题讨论】:
-
这更像是一个实用主义的问题。有时,当结果需要在一个对象中时,它需要一个深拷贝到堆栈上或在堆上分配一个结果对象,之后必须小心释放。使用引用参数可以避免两者。
-
我看不出
void computeResult(int &result);的原因,除非它像bool computeResult(int &result);
标签: c++ return-value ref