繁体   English   中英

具有默认值的 const 引用参数

[英]const reference parameter with default value

我有一个带有构造函数的类,该构造函数将另一个结构作为参数,并且具有默认值。 像这样的东西:

class A
{
public:
A(someStruct st = someStruct::defaultStruct());
};

我在我的代码上运行了一个静态分析器,它说这个参数应该是 const ref。 但它有点参考临时,虽然我正在制作它的构造函数的副本,但我仍然很困惑我是否应该这样做const ref。

someStruct::defaultStruct() 就像

static someStruct someStruct::defaultStruct()
{
    return { 0, 0 };
}

分析器说它需要是const&因为someStruct::defaultStruct()返回一个临时值。 你需要这样的代码:

A(const someStruct& st = someStruct::defaultStruct());

因为只有const&可以绑定到临时作为参数的默认值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM