decltype关键字用于从表达式的类型推断出要定义的变量类型,它的作用是选择并返回操作数的数据类型,在此过程中,编译器分析表达式并得到它的类型,却不实际计算表达式的值。
int getSize();
int main(void)
{
int tempA = 2;
/*1.dclTempA为int.*/
decltype(tempA) dclTempA;
/*2.dclTempB为int,对于getSize根本没有定义,但是程序依旧正常,因为decltype只做分析,并不调用getSize().*/
decltype(getSize()) dclTempB;
return 0;
}
Cpp reference:
https://en.cppreference.com/w/cpp/language/decltype