c++ decltype关键字浅析

之前聊到过类型推导关键字auto,这次再来聊聊另一个类型推导关键字——decltype。
例如
上面代码中的n和rn分别是什么类型呢?
初识decltype关键字的朋友看到上面的代码可能有点懵,这里有必要简单说下decltype的基本用法:
1) decltype作为关键字,后面至少要用一对圆括号将求值表达式括上才算是合法语义。
2) decltype作为关键字,只用一对圆括号将求值表达式括上,新变量类型和被求值表达式类型相同。
3) decltype作为关键字,用多于一对圆括号将求值表达式括上,新变量类型为被求值表达式类型的引用。
那喜欢刨根问底的小伙伴们就会问了,要是我无聊写成了下面这种形式
再例如 (注:以下代码摘自C++ Primer 5版)
一些稍稍特殊的用法
例如 (注:以下代码摘自C++ Primer 5版)
还有
水平有限,欢迎交流指正。