2017-01-18 4 views
0

返品タイプautodecltype(auto)の意味を知っています。また、私は可変宣言のために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)と同じであると思われます。 bcは同じですか、何か不足していますか?

答えて

3

b("a"s, "b")は一時的な文字列を返します。

c("a"s, "b")は、ぶら下がっている参照を返します。