深圳市建设网络有限公司网站,nginx做网站,如何做网站怎么赚钱吗,企业门户网站免费模板文章目录 1. 工作原理2. decltype 变量3. decltype 表达式4. decltype 函数 1. 工作原理 随着程序越来越复杂#xff0c;程序中用到的类型也越来越多#xff0c;我们有时候不得不去翻阅大量上下文去寻找此数据的类型。 decltype就是一种类型说明符#xff0c;它的出现… 文章目录 1. 工作原理2. decltype 变量3. decltype 表达式4. decltype 函数 1. 工作原理 随着程序越来越复杂程序中用到的类型也越来越多我们有时候不得不去翻阅大量上下文去寻找此数据的类型。 decltype就是一种类型说明符它的出现主要是解决复杂的类型声明。decltype并不会实际计算表达式的值编译器分析表达式并得到它的类型。
decltype 变量decltype 表达式decltype 函数名
2. decltype 变量 当使用decltype(var)的形式时decltype会直接返回变量的类型包括顶层const和引用 const int ci 0, cj ci;// x的类型是const int
decltype(ci) x 0;// y的类型是const int
decltype(cj) y x;
decltype加指针也会返回指针的类型。decltype加数组不负责把数组转换成对应的指针所以其结果仍然是个数组P206
3. decltype 表达式
decltype(expr)的结果根据expr的结果不同而不同
expr返回左值得到该类型的左值引用expr返回右值得到该类型。
int i 42, *p i, r i;// r 0是一个表达式,算术表达式返回右值,所以b是一个int类型
decltype(r 0) b;// (*p)是一个表达式, 返回i, 为左值, 所以c是一个int 类型
decltype(*p) c i;4. decltype 函数
// 下面的函数就是上面的类型
int add_to(int des, int ori);
int a 4;//此处仍然需要添加*来表明是函数指针
decltype(add_to) *pf add_to;// 通过函数指针调用add_to
pf(a, 2);当使用decltype(func_name)的形式时decltype会返回对应的函数类型不会自动转换成相应的函数指针需要添加一个*来声明函数指针