keywords

suggest change

Keywords have fixed meaning defined by the C++ standard and cannot be used as identifiers. It is illegal to redefine keywords using the preprocessor in any translation unit that includes a standard library header. However, keywords lose their special meaning inside attributes.

Remarks

The full list of keywords is as follows:

The tokens final and override are not keywords. They may be used as identifiers and have special meaning only in certain contexts.

The tokens and, and_eq, bitand, bitor, compl, not, not_eq, or, or_eq, xor, and xor_eq are alternative spellings of &&, &=, &, |, ~, \!, !=, ||, |=, ^, and ^=, respectively. The standard does not treat them as keywords, but they are keywords for all intents and purposes, since it is impossible to redefine them or use them to mean anything other than the operators they represent.

The following topics contain detailed explanations of many of the keywords in C++, which serve fundamental purposes such as naming basic types or controlling the flow of execution.

Class types

decltype

class

float

bool

void

Controlling alignment

Thread-local storage

register

char

char16_t

char32_t

short

long

double

int

wchar_t

enum

if

do

else

default

explicit

true

false

continue

const

for

goto

struct

case

mutable

noexcept

nullptr

catch

return

signed

unsigned

Different keywords

static

this

switch

throw

try

break

union

asm

volatile

Querying the alignment of a type

sizeof

typename

Feedback about page:

Feedback:
Optional: your email if you want me to get back to you:



Table Of Contents