Gia*_*iac 8 c++ parameters parameter-passing
我使用一个函数,它使用2个参考参数来返回值,这个值只有一个让我感兴趣.有没有一种方法可以在一行中完成.
我将用代码解释自己
功能代码
void Limits (double& min, double &max)
{
min = MIN;
max = MAX;
}
Run Code Online (Sandbox Code Playgroud)
使用该功能
double min;
double unused;
Limits(min, unused);
// using myDouble but not unused
Run Code Online (Sandbox Code Playgroud)
我想写的是类似的东西
double min;
Limits(min, double());
Run Code Online (Sandbox Code Playgroud)
没有事先正确声明对象,我找不到方法.有优雅的解决方案吗?
我无法修改功能.
我不确定为什么必须声明一个额外的变量是一个问题。无论如何,如果您无法修改该函数,请制作一个包装器:
void MyLimits(double& min) {
double unused;
Limits(min, unused);
}
Run Code Online (Sandbox Code Playgroud)
或者你可以做一些像这样的时髦的事情:
double min;
Limits(min, *std::unique_ptr<double>(new double));
Run Code Online (Sandbox Code Playgroud)