//decltype主要作用是通過對象編譯期推算獲得類型,輸入參數是對象/實例/變量名,返回一個類型。
//常用用法場景:通過auto 推算的聲明的變量很多時候有很長一大串,咱們不太好寫出變量類型,
//可是又需要用剛纔的auto類型聲明其他變量
/*
auto a=...........;
decltype(a) b;
*/
//以lambda表達式的語法通過通過參數推算出返回值
/*
//編譯不過去吧??!!
template<typename T1,typename T2>
decltype(x+y) Add(T1 x,T2 y)
{
}*/
//真正的改進
//類似於lambda表達式
template<typename T1, typename T2>
auto Add(T1 x, T2 y)->decltype(x + y)
{
}
private:
};