# C++ keyword: `typeid`

From cppreference.com
< cpp‎ | keyword
C++

Compiler support
Freestanding and hosted
Language
Standard library
Standard library headers
Named requirements
Feature test macros (C++20)
Language support library
Concepts library (C++20)
Diagnostics library
Memory management library
Metaprogramming library (C++11)
General utilities library
Containers library
Iterators library
Ranges library (C++20)
Algorithms library
Strings library
Text processing library
Numerics library
Date and time library
Input/output library
Filesystem library (C++17)
Concurrency support library (C++11)
Execution support library (C++26)
Technical specifications
Symbols index
External libraries

C++ language

General topics

Preprocessor
Comments

Keywords
Escape sequences

Flow control
Conditional execution statements

`if`

`switch`

Iteration statements (loops)

`for`
range-`for` (C++11)

`while`
`do-while`

Jump statements

`continue` - `break`

`goto` - `return`

Functions
Function declaration
Lambda function expression
`inline` specifier
Dynamic exception specifications (until C++17*)
`noexcept` specifier (C++11)
Exceptions

`throw`-expression
`try` block

`catch` handler

Namespaces

Namespace declaration ``

Namespace aliases

Types

Fundamental types
Enumeration types
Function types

Class/struct types
Union types

Specifiers

`const`/`volatile`
`decltype` (C++11)
`auto` (C++11)

`constexpr` (C++11)
`consteval` (C++20)
`constinit` (C++20)

Storage duration specifiers
Initialization

Default-initialization
Value-initialization
Zero-initialization
Copy-initialization
Direct-initialization

Aggregate initialization
List-initialization (C++11)``
Constant initialization
Reference initialization

Expressions

Value categories
Order of evaluation

Operators
Operator precedence

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

Implicit conversions
`static_cast`
`const_cast`

Explicit conversions
`dynamic_cast`
`reinterpret_cast`

Memory allocation

`new` expression

`delete` expression

Classes

Class declaration
Constructors
`this` pointer

Access specifiers
`friend` specifier

Class-specific function properties

Virtual function
`override` specifier (C++11)``
`final` specifier (C++11)

`explicit` (C++11)
`static`

Special member functions

Default constructor
Copy constructor
Move constructor (C++11)

Copy assignment
Move assignment (C++11)
Destructor

Templates

Class template
Function template

Template specialization
Parameter packs (C++11)

Miscellaneous

Inline assembly

History of C++

Keywords

alignas (C++11)
alignof (C++11)
and
and_eq
asm
auto (*)
bitand
bitor
bool
break
case
catch
char
char8_t (C++20)
char16_t (C++11)
char32_t (C++11)
class
compl
concept (C++20)
const
consteval (C++20)
constexpr (C++11)
constinit (C++20)
const_cast
continue
co_await (C++20)
co_return (C++20)
co_yield (C++20)
decltype (C++11)
default
delete

do
double
dynamic_cast
else
enum
explicit
export
extern
false
float
for
friend
goto
if
inline
int
long
mutable
namespace
new
noexcept (C++11)
not
not_eq
nullptr (C++11)
operator
or
or_eq
private
protected
public
register

reinterpret_cast
requires (C++20)
return
short
signed
sizeof (*)
static
static_assert (C++11)
static_cast
struct
switch
template
this
thread_local (C++11)
throw
true
try
typedef
typeid
typename
union
unsigned
using
virtual
void
volatile
wchar_t
while
xor
xor_eq

Identifiers with special meaning

final (C++11)
import (C++20)

module (C++20)
override (C++11)

### Usage

- `typeid` operator

Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/keyword/typeid&oldid=175104"

##### Navigation

- Online version
- Offline version retrieved 2025-02-09 16:39.

- This page was last modified on 14 August 2024, at 02:14.