我应该将函数的参数用作输出吗?如果是的话,何时? 我已经看到一些WinAPI函数执行此操作,我不明白其原因是什么。
LARGE_INTEGER c;
QueryPerformanceCounter(&c);
...
QueryPerformanceCounter(&c);
为什么在下面的代码看起来会使用相同的参考? (假设函数只返回结果)
LARGE_INTEGER c = QueryPerformanceCounter();
...
c = QueryPerformanceCounter();
答案 0 :(得分:1)
有时这是因为(过时的)关注按值返回较大对象的效率,但在这种情况下我认为原因是允许返回值用作指示调用是否成功的状态
答案 1 :(得分:1)
如果您想从函数返回错误以验证输出,那么它非常有用:
std::string input;
if(!read_device(input))
{
log("ERROR: reading device:");
return false;
}
// input is valid here