声明:该笔记是在学习《深入理解C++11》、《C++11/14高级编程 Boost程序库探秘》时做的总结,方便以后巩固复习!
三、decltype(auto)
auto和decltype两个关键字都可以推导类型,但用法有所差异。
auto的使用更加方便,但是用途有限,只能用在赋值语句里;
decltype用途广,可以推导任意表达式的类型,但使用时必须在括号内写全表达式,用法略有不便。
因此C++14标准增加了一种新的语法,允许把这两者结合起来,也就是“decltype(auto)”,
使用decltype的语义推导类型,但是用的却是auto语法形式。如:
decltype(auto) x = 6; //整型类型int ,仅C++14
decltype(auto) y = 7L; //整型类型long ,仅C++14
decltype(auto) z = x + y; //整型类型long ,仅C++14
欢迎关注公众号:Kevin的嵌入式学习站