[英]Function result auto&&
我知道返回類型auto
和decltype(auto)
的含義。 我也知道auto&&
用於變量聲明。 所以我嘗試使用auto&&
作為返回類型:
template <class X, class Y>
auto a(X &&x, Y &&y) -> auto {
return x+y;
}
template <class X, class Y>
auto b(X &&x, Y &&y) -> decltype(auto) {
return x+y;
}
template <class X, class Y>
auto c(X &&x, Y &&y) -> auto&& { // <----
return x+y;
}
它似乎與decltype(auto)
相同。 b
和c
是同一件事,還是我錯過了什么?
b("a"s, "b")
返回一個臨時字符串。
c("a"s, "b")
返回一個懸空參考。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.