类型名
-
当后跟一个限定名称时,
typename
指定它是一个类型的名称。这通常在模板中是必需的,特别是当嵌套名称说明符是除当前实例化之外的依赖类型时。在此示例中,std::decay<T>
取决于模板参数T
,因此为了命名嵌套类型type
,我们需要使用typename
为整个限定名称添加前缀。有关更多详细信息,请参阅 模板和typename
关键字的位置和原因?template <class T> auto decay_copy(T&& r) -> typename std::decay<T>::type;
-
在模板的声明中引入类型参数。在这种情况下,它可以与
class
互换。template <typename T> const T& min(const T& x, const T& y) { return b < a ? b : a; }