大家好,又见面了,我是你们的朋友全栈君。
1 decltype关键字
decltype是C++11中引入的新的类型说明符。编译器根据分析表达式或者函数返回值来分析其类型。decltype的详细用法,请参考《C++中decltype的使用方法》
2 decltype与左值和右值
decltype后面跟的表达式是左值或者右值时,编译器分析的类型会有所不同。如果表达式(非单个变量)的求值结果是左值,则编译器会得到一个引用类型;如果表达式(非单个变量)的求值结果是右值,则编译器会得到一个与表达式相同的类型。
int arr[2] = { 10,20 };
decltype (arr[1])k = i;
decltype (&arr[1])j = &i;
其中,arr是一个拥有2个元素的int数组,arr[1]的类型是int,该表达式是一个左值,因此k的类型是一个引用类型,即int&;&arr[1]的类型是int*,该表达式是一个右值,因此j的类型是int*。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/126707.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...