Namespaces
Variants
Views
Actions

Difference between revisions of "cpp/keyword/typename"

From cppreference.com
< cpp‎ | keyword
m
m
Line 6: Line 6:
 
* In a [[cpp/language/templates | template declaration]], {{c|typename}} can be used as an alternative to [[cpp/keyword/class | class]] to declare [[cpp/language/template_parameters#Type template parameter|type template parameters]] {{rev inl|since=c++17|and template template parameters}}.
 
* In a [[cpp/language/templates | template declaration]], {{c|typename}} can be used as an alternative to [[cpp/keyword/class | class]] to declare [[cpp/language/template_parameters#Type template parameter|type template parameters]] {{rev inl|since=c++17|and template template parameters}}.
 
* Inside a declaration or a definition of a template, {{c|typename}} can be used to declare that a [[cpp/language/dependent_name|dependent name]] is a type.
 
* Inside a declaration or a definition of a template, {{c|typename}} can be used to declare that a [[cpp/language/dependent_name|dependent name]] is a type.
* Inside a [[cpp/language/constraints]] for type requirements {{mark since c++20}}
+
* Inside a [[cpp/language/constraints | requirements]] for type requirements {{mark since c++20}}
  
 
{{langlinks|de|es|fr|it|ja|pt|ru|zh}}
 
{{langlinks|de|es|fr|it|ja|pt|ru|zh}}

Revision as of 17:35, 27 October 2017

 
 
C++ language
General topics
Flow control
Conditional execution statements
if
Iteration statements (loops)
for
range-for (C++11)
Jump statements
Functions
Function declaration
Lambda function expression
inline specifier
Dynamic exception specifications (until C++17*)
noexcept specifier (C++11)
Exceptions
Namespaces
Types
Specifiers
const/volatile
decltype (C++11)
auto (C++11)
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
explicit (C++11)
static

Special member functions
Templates
Miscellaneous
 
 

Usage