使用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)
假设该函数返回一个const &
引用,因为const
object 和const &&
是相当无用的返回类型,decltype(auto)
将执行与auto &&
.
通常不应使用decltype(auto)
局部变量,因为它没有特定的用例,并且模糊了声明的实体是对象还是引用。