C++标准学习--decltype

decltype / auto 是具有类型推导功能的 类型 描述/占位 符

  • decltype: 获取对象或表达式的类型
  • auto: 类型自动推导

decltype 可以获取变量类型, (并不同于python的type,但python能打印出type获取的名称, C++通过typeid实现)。

int main()

{

int val = 10;

char ch = 'b';

string str = "baidu";

cout << typeid(val).name() <<endl;

cout << typeid(ch).name() <<endl;

cout << typeid(str).name() <<endl;

return 0;

}

结果为:

在特殊场合有一定作用,比如在基于部分闭源的库开发一些功能的时候可以获取未知类型变量的类型。但不确定IDE能否基于decltype的推导自动获知类似结构而给与编程时的提示能力。

如果希望简化复杂类型的名称,感觉在可读性或者效率上不如using 或者typedef 好。

在实现较为自动化的编程框架的时候,decltype似乎显得比较有用了,与auto功能个别方面重叠,但比auto强大,auto只在赋值是推导,而decltype 可以推导类型而定义新的具有初值的变量。

另外在对于lambda闭包的类似使用上也很有用。

相关推荐
上下求索,莫负韶华31 分钟前
切面学习笔记
笔记·python·学习
学掌门1 小时前
超级菜鸟怎么学习数据分析?
python·学习·数据分析
崖边看雾2 小时前
OpenCV 图像处理学习笔记|图像运算、边界填充、阈值处理、图像平滑滤波
图像处理·opencv·学习
呱呱巨基2 小时前
Docker 基础概念学习
linux·c++·学习·docker
AI的探索之旅2 小时前
嵌入式视觉学习路线:Qt + OpenCV + 工业相机,从零到综合项目
qt·opencv·学习
sakiko_2 小时前
Swift学习笔记39-实战注意事项
前端·笔记·学习·swift
短视频矩阵源码定制2 小时前
个性化学习机构四大模式深度评测与选型指南
人工智能·学习
xiaoxiangsiyan3 小时前
企业网络运维自动化与管理协议深度指南
linux·运维·服务器·网络·学习·自动化
数智工坊3 小时前
SAMosaic3D:以可学习马赛克组装实现实时在线3D实例分割 | CVPR 2026 论文精读
学习·3d
Aision_3 小时前
实习学习笔记:HTTP请求走私漏洞全方位解析
笔记·学习·安全·web安全·http·网络安全·网络攻击模型