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

相关推荐
想进部的张同学15 小时前
hilinux-3599---设备学习---以及部署yolo
学习·yolo·海思
HyperAI超神经16 小时前
【vLLM 学习】Rlhf
人工智能·深度学习·学习·机器学习·vllm
做cv的小昊18 小时前
【TJU】信息检索与分析课程笔记和练习(7)数据库检索—Ei
数据库·笔记·学习·全文检索
AI360labs_atyun18 小时前
上海打出“开源”国际牌!2025重磅新政
人工智能·科技·学习·ai·开源
Chris_121918 小时前
Halcon学习笔记-Day6:工业视觉高级技术应用与实战项目
笔记·学习·halcon
GHL28427109019 小时前
调用通义千问(qwen-plus)模型demo-学习
学习·ai·ai编程
wdfk_prog20 小时前
[Linux]学习笔记系列 -- [fs]super
linux·笔记·学习
GHL28427109020 小时前
Temperature、Top P 学习
学习·ai
Yyuanyuxin21 小时前
保姆级学习开发安卓手机软件(三)--安装模拟机并开始简单的进入开发
android·学习
不爱编程爱睡觉21 小时前
代码随想录学习——项目学习——HTTP服务框架——环境配置问题
学习