Namespaces
Variants

C++ keyword: typename

From cppreference.net
C++ language
General topics
Flow control
Conditional execution statements
Iteration statements (loops)
Jump statements
Functions
Function declaration
Lambda function expression
inline specifier
Dynamic exception specifications ( until C++17* )
noexcept specifier (C++11)
Exceptions
Namespaces
Types
Specifiers
constexpr (C++11)
consteval (C++20)
constinit (C++20)
Storage duration specifiers
Initialization
Expressions
Alternative representations
Literals
Boolean - Integer - Floating-point
Character - String - nullptr (C++11)
User-defined (C++11)
Utilities
Attributes (C++11)
Types
typedef declaration
Type alias declaration (C++11)
Casts
Memory allocation
Classes
Class-specific function properties
Special member functions
Templates
Miscellaneous

사용법

  • 템플릿 매개변수 목록에서 템플릿 선언 시, typename class 대신 사용되어 타입 템플릿 매개변수 와 템플릿 템플릿 매개변수 (C++17부터) 를 선언하는 데 사용될 수 있습니다.
  • 템플릿의 선언 또는 정의 내부에서, typename 의존적 한정 이름 이 타입임을 선언하는 데 사용될 수 있습니다.
  • typename 은 비의존적 한정 타입 이름 앞에 사용될 수 있습니다. 이 경우 아무런 효과가 없습니다.
(since C++20)

참고 항목

(C++20부터)