C++关键字 typename

来自cppreference.com
< cpp‎ | keyword

 
 
C++语言
表达式
替代表示
字面量
布尔型 - 整型 - 浮点型
字符型 - 字符串 - nullptr (C++11)
用户定义 (C++11)
Utilities
属性 (C++11)
Types
typedef声明
类型别名声明 (C++11)
Casts
隐式类型转换 - 显示类型转换
static_cast - dynamic_cast
const_cast - reinterpret_cast
内存分配
类特有的函数属性
静态成员函数
模板
杂项
 
 

[编辑] 用法

  • 类模板函数模板typename可以用来作为一种替代申报模板类型.
    原文:
    In a 类模板 or 函数模板, typename can be used as an alternative to to declare templated types.
    这段文字是通过 Google Translate 自动翻译生成的。
    您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
  • 在一个模板中定义,typename可以被用来定义一个相关的名称,是一种.
    原文:
    Inside a template definition, typename can be used to declare that a dependent name is a type.
    这段文字是通过 Google Translate 自动翻译生成的。
    您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

[编辑] 示例

template <typename T>
void foo (const std::vector<T> &v)
{
    // std::vector<T>::const_iterator is a dependent name,
    // so using it as a type requires the addition of the
    // typename keyword
    typename std::vector<T>::const_iterator it = v.begin();
}