c++ decltype的用法是甚么
C++中的decltype是一个用于推导表达式类型的关键字。它可以在编译时通过分析表达式的类型来推导出表达式的返回类型。
decltype的用法以下:
decltype(expression)
其中,expression是一个有效的C++表达式。
decltype的主要用处有两个:
decltype关键字,可以根据初始化器的类型来推导变量的类型。例如:int x = 5;
decltype(x) y; // 推导出y的类型为int
decltype关键字,可以根据函数体中的表达式来推导函数的返回类型。例如:int add(int a, int b) {
return a + b;
}
decltype(add(1, 2)) result; // 推导出result的类型为int
需要注意的是,decltype在推导返回类型时,其实不会履行表达式,只是根据表达式的类型进行推导。因此,即便表达式没法履行或引发编译毛病,也不会影响decltype的推导结果。
另外,decltype还可以与auto关键字一起使用,用于推导变量的类型并自动推导初始化器的类型。例如:
auto x = 5;
decltype(x) y; // 推导出y的类型为int
TOP