当前位置: 首页 > news >正文

条款3: 理解decltype

目录

一、decltype + 变量

二、decltype + 表达式

三、decltype 使用场景


一、decltype + 变量

🥭 所有的信息都会保留,数组和函数也不会退化

const int &&carref = std::move(ca);
decltype(carref) bb;      // bb推导为const int &&,不会被忽略掉const int *const cacptr = &a;
decltype(cacptr) bb;     // bb推导为const int *const,不会被忽略掉int array[2] = {0, 1};
decltype(array) bb;     // bb推导为int [2],指针不会退化

二、decltype + 表达式

🍍 会返回表达式结果对应的类型,如果类型是左值:得到该类型的左值引用;如果是右值:得到该类型

🥥 decltype单独作用于对象时,如果没有使用表达式属性,获得变量类型。如果想要变量作为表达式需要+()

int *aptr = &a;
decltype(*aptr) b;              // bb被推导为int &int a = 10;
decltype(a) b;                  // 没有表达式属性,推导为int
decltype((a)) b;       

http://www.mrgr.cn/news/51706.html

相关文章:

  • 鸿蒙跨设备协同开发05——跨设备拖拽
  • 2.4 STM32启动过程
  • 单片机输出方波
  • 数据结构——八大排序(下)
  • Python进阶知识1
  • Excel 对数据进行脱敏
  • 插件分享|沉浸式翻译
  • 【未公开0day】某某星CMSV6某某定位监控 getAlarmAppealByGuid SQL注入漏洞【附poc下载】
  • Java算术运算符 C语言的二维数组初始化
  • Python使用Selenium库实现CSDN自动化发帖
  • Redis提供了专门的命令来实现自增操作
  • 中国主要厂商3-羟基丁酸产能、销量、收入、价格和市场份额
  • Redis Geo 数据类型解析:基于 ZSET 的高效地理位置管理0708
  • flutter 使用三方/自家字体
  • python自动化办公实例(使用openpyxl、os处理统计Excel表中的数据并将其合并)
  • 业务连续性管理(Business Continuity Management, BCM)
  • 基于springboot摄影跟拍预定管理系统
  • AI 视频工具合集
  • 2024-10-16 学习人工智能的Day8
  • 物联网智能项目综述