字面意思:类型推导,用途与auto有几分相似;
常常与using或typedef配合使用;
看例子,帮助理解:
void main(){
std::vector<int> vData;
typedef decltype(vData.begin()) VECITOR;//推导出迭代器类型 std::vector<int>::iterator
for(decltype(vData)::iterator it = vData.begin(); it != vData.end(); ++it){//推导出vData的类型std::vector<int>
}
//更多是用于模板中,对出参值类型的推导
template<typename T1,typename T2>
void Calc(T1& t1, T2& t2, decltype(t1+t2)& s){
s = t1 + t2;
}
}