我来自Java背景,但现在正在处理大型C++代码库。我经常看到这种模式:
void function(int value, int& result);
上述方法的调用方式如下:
int result = 0;
function(42, result);
std::cout << "Result is " << result << std::endl;
在Java中,以下内容更为常见:
int result = function(42);
尽管在C++中以上操作是完全可能的,但为什么前者似乎更常见(至少在我正在工作的代码库中)?这是风格问题还是其他原因?
void function(int value, int result);
不会修改传递的result
。 - MikeCAT