引用变量的默认值

时间:2016-07-09 13:48:02

标签: c++ function

当我在C ++中用作函数的参数时,如何设置引用变量的默认值?

2 个答案:

答案 0 :(得分:2)

您只能为const &执行此操作,而不能为非常量执行此操作。 const引用可以绑定到临时,非const引用不能。

答案 1 :(得分:2)

除非您使用移动运算符或const引用,否则无法提供对临时值的引用:

void test (int j, double && d1=0.0)
                      // ^^ Move
{
 //my codes
}
void test (int j, const double & d1=0.0)
               // ^^^^^ Extend lifetime
{
 //my codes
}

您为此函数声明了一个引用(输出)参数这一事实表明该函数在没有传递输出参数的情况下没有意义,因此默认值完全关闭(应该调用什么{{1}实际上呢?)。

您可能想要的是在输入功能时重置输出参数:

test(j);
相关问题