类型名
-
当后跟一个限定名称时,
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; }