1.首先针对decltype有两种表达方法,分别是不带括号的和带括号的。
2.其次,对于这两种表达方式的区别体现在变量上:
只要是带了括号就取被推断变量的引用,不带括号就直接取被推断变量定义时的类型
3.另外,如果被推断的是函数调用,则无论是带括号还是不带括号得到的都是函数的返回类型。
4.最后,如果被推断的是运算表达式,如果表达式得到的右值,则无论是带括号还是不带括号得到的都是被推断的类型;如果表达式得到的是左值,则无论是带括号还是不带括号得到的都是被推断的引用。

具体的,2,3,4条对应的代码如下:

 int n, x = 1;const int m = 0, z = 1;//2.decltype(n) a; //a->intdecltype((n)) b = n; //b->int &decltype(m) c = 1; //c->const intdecltype((m)) d = n; //d->const int &//3.decltype(test()) e;//e->intdecltype((test())) f;//f->int//4.decltype(1 + 2) g;//g->intdecltype((1 + 2)) h;//h->intdecltype(m + z) i = m;//i->intdecltype((m + z)) j = z;//j->intdecltype(x += 10) k = x;//k->int &decltype((x += 10)) l = x;//l->int &

c++11:decltype相关推荐

  1. C++11精要学习:decltype的功能与使用

    文章目录 获取表达式的类型 推导规则 返回类型后置 高级用法 获取表达式的类型 在编写程序的过程中,我们可能会有一种需求,就是希望可以根据一个变量的类型,来定义具有相同类型的变量.例如定义int x ...

  2. 二、C++11新特性:decltype类型推导

    目录 二.decltype类型推导 2.1. decltype decltype和auto的异同: 2.2.decltype的应用 ①.decltype和typedf/using合用 ②.deltyp ...

  3. C++14尝鲜:decltype 和 decltype(auto)

    decltype decltype是C++11新增的关键字,主要用于提取变量和表达式的类型. decltype的语法形式为:decltype(e),这里e是一个表达式,而decltype(e)是一个类 ...

  4. C++11之decltype类型推导(使用场景、推导四规则、cv限定符)

    系列文章 C++11之正则表达式(regex_match.regex_search.regex_replace) C++11之线程库(Thread.Mutex.atomic.lock_guard.同步 ...

  5. 11:菜单自动化软件部署经典案例

    11企业Shell面试题11:菜单自动化软件部署经典案例 综合实例:打印选择菜单,按照选择一键安装不同的Web服务. 示例菜单: [root@oldboy scripts]# shmenu.sh 1. ...

  6. Effective C# 原则11:选择foreach循环

    Effective C# 原则11:选择foreach循环 Item 11: Prefer foreach Loops C#的foreach语句是从do,while,或者for循环语句变化而来的,它相 ...

  7. 11:数值的整数次方

    /*** 面试题11:数值的整数次方* 给定一个double类型的浮点数base和int类型的整数exponent.求base的exponent次方.*/ public class _11_power ...

  8. 实验10:创建带有生命周期方法的bean ||实验11:测试bean的后置处理器

    实验10:创建带有生命周期方法的bean 实验11:测试bean的后置处理器 MyBeanPostProcessor.java package com.atguigu.bean;import org. ...

  9. 免费下载!《九年双11:互联网技术超级工程》,300页干货精华

    人类历史上的超级工程有什么?金字塔.万里长城.迪拜世界岛.三峡大坝-- 其实,我们还有个很特别的超级工程:人们看不到它的形态,却无时无刻不在感知它的存在.天南海北的货物因它向世界各地集散,各行各业因它 ...

最新文章

  1. 【bzoj1853】[Scoi2010]幸运数字 容斥原理+搜索
  2. 系统服务器巡查表,服务器操作系统巡检表
  3. Java设计模式(二):观察者设计模式
  4. Dockerfile的ONBUILD指令
  5. SQL基础操作_2_操作多个表
  6. Ansi与Unicode编码
  7. php smarty 语法,php之Smarty根本语法和三大变量
  8. Oracle 存储大文本
  9. 使用HttpWebRequest方式访问外部接口
  10. 用友U8对账不平,对账错误简单处理方法
  11. discuz 门户diy实现翻页功能的修改记录
  12. SIFI尺度不变特征变换算法
  13. java 先入先出_一道java的基础题:一个线程安全的后进先出队列
  14. html设置某一块一直在屏幕上方,gogo体育在线-gogo体育在线
  15. Google设置应用专用密码
  16. 曲线积分于曲面积分(后篇 曲面积分-坐标曲面积分-高斯公式-斯托克斯公式)
  17. java爬虫爬取B站弹幕
  18. R语言:批量获取指定股票代码的股票数据
  19. python路径、工作路径、文件路径问题、改变当前路径
  20. 永磁同步电机simulink仿真——PMSM矢量控制

热门文章

  1. RPA+AI打造智能政务雇员,来也科技助力数字化政府建设
  2. python中xlrd官方_Python中如何用xlrd读取
  3. 什么是CPS什么是CPT
  4. jmeter压测过程及常见问题总结
  5. 每日一诗词 —— 无悔的青春
  6. MySQL视图触发器存储过程内外链接数据锁
  7. 关于nodejs部署时的一些错误(多多客SaaS)
  8. 比例信号测试仪器【PSG-02】
  9. 工程伦理之讨论“地铁与泉水共生”问题
  10. 前端笔记-在Element UI中表格如何根据数据动态变化显示