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闭包的类似使用上也很有用。

相关推荐
zx_zx_1231 分钟前
哈希表的学习
学习·哈希算法·散列表
FAFU_kyp3 分钟前
Kimi Coding Plan API 集成问题与解决方案
学习
L-影3 小时前
下篇:它到底是怎么操作的——AI中半监督学习的类型与作用,以及为什么它成了行业的“最优解”
人工智能·学习·机器学习·ai·半监督学习
xw-busy-code4 小时前
抽象语法书学习笔记
笔记·学习·ast·抽象语法树
小羊羔heihei4 小时前
Python编程实战:12道趣味算法题
笔记·python·学习·其他·算法·学习方法·交友
名字不相符4 小时前
2026年3月27日NSSCTF之[SWPU 2019]漂流记的马里奥
学习·ctf·萌新
小羊羔heihei5 小时前
Python列表操作全攻略
经验分享·笔记·python·学习·其他·交友
weixin_409383125 小时前
godot碰撞测试的学习
学习·游戏引擎·godot
电子云与长程纠缠5 小时前
Godot学习06 - AnimationPlayer内置动画
学习·游戏引擎·godot