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

出乎意料C++

  1. 类型 decltype

int i = 4;

decltype (++i) v8 = i;

请问 : v8 的类型是什么?

错误:i 是 int, ++i 还是 int,  所以 v8 也是 int

正确:

前置递增++i 首先将变量 i 的值增加1,然后返回增加后的引用(即 int& 类型)。

因此,++i 的类型是 int&,即一个指向整数的引用。

由于 decltype 直接根据表达式来确定类型而不实际执行该表达式,所以 decltype (++i) 的类型就是 ++i 表达式的类型,也就是 int&

关键: 理解前置++(++i)的返回值是 i 的引用,后置++(i++)的返回值是和 i 相同的临时变量

相关文章:

  • 服务器模式部署mediacms后卸载mediacms,包括数据库
  • App UI自动化--Appium学习--第二篇
  • VisionPro 划痕检测小练习
  • Docker 容器使用
  • STM32外设分类--最小系统引脚和GPIO引脚
  • 算法-链表篇06-链表相交
  • MaxKB本地部署celery_default is stopped
  • 【项目日记】高并发内存池--page cache
  • 05-服务保护和分布式事务(Sentinel、Seata)
  • 探索 Text-to-SQL 技术:从自然语言到数据库查询的桥梁
  • 2025年关于css面试题及其答案解析
  • GRN前沿:DGCGRN:基于有向图卷积网络的基因调控网络推理
  • 云夹书签:让阅读跨越时空
  • 【Elasticsearch】标准化器(Normalizers)
  • 常用 CNN 深度学习框架 backbone 标准代码
  • C++----多态
  • 单元测试、系统测试、集成测试知识详解
  • 神经网络常见激活函数 8-SELU函数
  • 【MyBatis】预编译SQL与即时SQL
  • 数据结构:串
  • 胳膊一抬就疼,炒菜都成问题?警惕这种“炎症”找上门
  • 马上评|让“贾宝玉是长子长孙”争议回归理性讨论
  • 习近平同俄罗斯总统普京举行会谈
  • 巴基斯坦:印度向巴3处地点发射导弹
  • 洗衣机无法有效杀菌
  • 五一假期上海境外来沪消费4.55亿元,同比增长211.6%