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

与 C++ auto 关键字作用类似的关键字 / 语法

与 C++auto关键字作用类似的关键字 / 语法

核心共同点:编译期自动类型推导、不用手写具体类型

1.decltype

  • 作用:推导一个表达式的类型
  • 和 auto 区别:
    • auto定义变量时自动推类型
    • decltype(表达式)单独拿表达式算出类型,可用于变量、函数返回值、模板
  • 示例:

cpp

运行

int a = 10; decltype(a) b = 20; // 推导为 int
  • 常和auto搭配:auto decltype(auto)精准保留引用、const 属性

2.decltype(auto)

  • C++14 新增
  • 既能像 auto 自动推导,又完整保留引用、const、左值 / 右值属性
  • 解决普通 auto 会丢失引用、顶层 const的问题,常用于函数返回值推导

3.typename/class(模板类型参数)

  • 作用:告诉编译器后面是一个类型,让编译器自动推演模板实参
  • 模板本质也是编译期类型推导,和 auto 底层同源

cpp

运行

template<typename T> // class 等价于 typename void func(T t);

4.using类型别名(替代typedef

  • 可以配合 auto/decltype 做类型简化、别名推导

cpp

运行

using MyType = decltype(10.5);
  • 虽不是自动推导变量,但属于编译期类型重定义、简化长类型,使用场景和 auto 高度互补

5. C++11 范围 for 循环(隐含 auto)

cpp

运行

for (auto x : vec) {}

语法层面等价隐式类型推导,本质还是 auto 机制

6.constexpr/consteval(附带类型推导特性)

  • 编译期常量求值,常量类型可隐式推导
  • 侧重编译期计算,同时具备类型自动推演能力

按相似度分级

最像 auto(同属编译期类型推导)

  1. decltype
  2. decltype(auto)

原理相近(模板类型推演体系)

  1. typename / class

场景互补(简化长类型、替代手写类型)

  1. using

一句话总结

  • decltype、decltype(auto)是和 auto 同源、底层都是模板类型推导,最相似;
  • typename/class是模板层面的类型推导根基;
  • using是配合 auto 简化复杂长类型的常用语法。
http://www.jsqmd.com/news/807432/

相关文章:

  • 替代RCF陶瓷纤维的生产工厂盘点 - 品牌排行榜
  • DownKyi:5个步骤掌握B站视频下载的终极技巧
  • 开源协作平台架构设计:从代码托管到CI/CD的DevOps实践
  • ARM架构TLB失效指令VALE2OS/VALE3OS详解
  • 图片怎么去水印?2026免费图片去水印工具推荐与主流方法全解析
  • 视觉Transformer计算效率优化:CI2P-ViT架构解析
  • 从摩尔定律到产业变迁:一位半导体编辑的VLSI时代观察与思考
  • 巴西电子市场机遇与挑战:从消费热土到产业生态的深度解析
  • 专业级Windows右键菜单优化工具:彻底解放你的右键效率革命
  • 如何在3分钟内实现iOS设备虚拟定位?iFakeLocation实战指南
  • 零基础避坑指南什么工具可以录音转待办
  • 京城信德斋|高价回收各类字画,免费鉴定 + 当场回款 - 品牌排行榜单
  • 资本能砸钱,却砸不出《凰标》里的东方风骨@凤凰标志
  • AzurLaneAutoScript:7×24小时智能管家,解放碧蓝航线玩家的双手
  • 5分钟解锁你的网易云音乐:NCM解密工具全攻略
  • 物联网安全认证:X.509证书的局限与替代方案实战解析
  • csp信奥赛C++高频考点专项训练之字符串 --【回文字符串】:最大回文数
  • Agent-Layer:构建多智能体协作系统的中间层框架设计与实践
  • 字画出手选信德斋|名家书画 + 老字画全收,现场全款结清 - 品牌排行榜单
  • 不靠资本、不靠流量:《凰标》凭什么火?@凤凰标志
  • 手机充电器技术演进:从反激拓扑到同步整流的效率革命
  • Laravel 1.x:揭秘PHP框架的起源与设计
  • 基于LLM的智能代码重构工具Refiner:原理、实战与效能提升指南
  • 低功耗抽象模型与UPF标准在芯片设计中的应用
  • 使用Taotoken的API Key访问控制功能精细化管理内部测试与生产环境
  • 基于Next.js与Claude API的AI对话应用开发实战指南
  • EDA工程师如何实现技术性内心平静:从压力管理到高效工作流
  • VMware Workstation Pro 17免费激活全攻略:5000+许可证密钥一键获取
  • OpenA2A:开源多智能体编排平台,重塑AI自动化工作流
  • AI智能体如何利用德国铁路实时数据与历史预测优化出行决策