博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Auto 和 Decltye 的区别
阅读量:5890 次
发布时间:2019-06-19

本文共 909 字,大约阅读时间需要 3 分钟。

/***auto 会去掉顶层const 和 &  而decltype 不会***///什么是顶层?const int x=0, *ptr = x;auto i = ptr; //i is int *decltype(i) is const int *int i = 42, *p = &i, &r = i;decltype(i) x1 = 0;       //因为 i 为 int ,所以 x1 为intauto x2 = i;              //因为 i 为 int ,所以 x2 为intdecltype(r) y1 = i;       //因为 r 为 int& ,所以 y1 为int&auto y2 = r;              //因为 r 为 int& ,但auto会忽略引用,所以 y2 为intdecltype(r + 0) z1 = 0;   //因为 r + 0 为 int ,所以 z1 为int,auto z2 = r + 0;          //因为 r + 0 为 int ,所以 z2 为int,///对指针解引用之后decltype返回该类型指针的引用 , auto 只返回该类型decltype(*p) h1 = i;      //这里 h1 是int&, 原因后面讲auto h2 = *p;             // h2 为 int.///另一个 decltype 返回与表达式形式相关 例如int x=0;decltype(x) is intdecltype( (x) ) is int&decltype(auto) f1(){    int x=0;    return (x);}//返回值是int&decltype(auto) f2(){    int x=0;    return x;}//返回值是int///decltype 后面是表达式的时候 返回左值的引用decltype(x = i) is int&//也就是说

 

转载于:https://www.cnblogs.com/zhanghengyu/p/10885717.html

你可能感兴趣的文章
gitlab 完整部署实例
查看>>
GNS关于IPS&ASA&PIX&Junos的配置
查看>>
影响企业信息化成败的几点因素
查看>>
SCCM 2016 配置管理系列(Part8)
查看>>
struts中的xwork源码下载地址
查看>>
ABP理论学习之仓储
查看>>
我的友情链接
查看>>
CentOS图形界面和命令行切换
查看>>
HTML5通信机制与html5地理信息定位(gps)
查看>>
加快ALTER TABLE 操作速度
查看>>
PHP 程序员的技术成长规划
查看>>
python基础教程_学习笔记19:标准库:一些最爱——集合、堆和双端队列
查看>>
js replace,正则截取字符串内容
查看>>
作业2
查看>>
nginx的信号量
查看>>
云im php,网易云IM
查看>>
DEFERRED_SEGMENT_CREATION
查看>>
Ada boost学习
查看>>
开源 java CMS - FreeCMS2.3字典管理
查看>>
block,inline和inline-block概念和区别
查看>>