decltype(auto)vs auto &&以保存cv限定符

Gui*_*e07 6 c++11 c++14

使用c ++ 14功能decltype(auto)vs auto &&来保持cv限定符是否有优势?

auto v = const_return_func() //strip the constness
auto&& v = const_return_func()
decltype(auto) = const_return_func()
Run Code Online (Sandbox Code Playgroud)

Pot*_*ter 2

假设该函数返回一个const &引用,因为constobject 和const &&是相当无用的返回类型,decltype(auto)将执行与auto &&.

通常不应使用decltype(auto)局部变量,因为它没有特定的用例,并且模糊了声明的实体是对象还是引用。