前言
![C++自动推断类型之C++11新标准中的decltype关键字详解](http://p2.ttnews.xyz/loading.gif)
完整代码,以及C/C++更多学习资料,私信我“代码“获取
本文是针对于C++11新标准:decltype关键字的一些使用的总结,希望对大家有少许帮助。
decltype意义
为了满足有时我们希望从表达式的类型推断出要定义的变量类型,但是不想用该表达式的值初始化变量(如果要初始化就用auto了)。C++11新标准引入了decltype类型说明符,它的作用是选择并返回操作数的数据类型,在此过程中,编译器分析表达式并得到它的类型,却不实际计算表达式的值。
![C++自动推断类型之C++11新标准中的decltype关键字详解](http://p2.ttnews.xyz/loading.gif)
完整代码,以及C/C++更多学习资料,私信我“代码“获取
decltype基本用法
- 基本的数据类型的推断
- 函数返回值的类型推断
decltype相遇const
decltype相遇const,保留const。
decltype相遇引用
decltype相遇指针
完整代码,以及C/C++更多学习资料,私信我“代码“获取
decltype总结
decltype和auto都可以用来推断类型,但是二者有几处明显的差异
- auto忽略顶层const,decltype保留顶层const
- 对引用操作,auto推断出原有类型,decltype推断出引用
- 对解引用操作,auto推断出原有类型,decltype推断出引用
- auto推断时会实际执行,decltype不会执行,只做分析。
总之在使用中过程中和const、引用和指针结合时需要特别小心。
完整代码,以及C/C++更多学习资料,私信我“代码“获取
更多精彩
閱讀更多 C語言源代碼計劃 的文章