通过引用访问默认参数是否安全?

Jes*_*per 7 c++

我有一个看起来像这样的函数:

class SomeClass {
    // ...
};

void some_function(const SomeClass& arg = SomeClass());
Run Code Online (Sandbox Code Playgroud)

该函数some_function通过引用访问其参数并具有默认值.这样做是否安全,或者在没有参数的情况下调用函数时引用是否无效?

Pup*_*ppy 8

是的,这很安全.绑定到临时的const引用将该临时的生命延长到引用的生命周期.右值参考也是如此.