The following words may not be used as identifier names or redefined.<ref name=cppreferencekeywords />
{{div col|colwidth=15em}}
* {{<code|>alignas}}</code>
* {{<code|>alignof}}</code>
* {{<code|>and}}</code>
* {{<code|>and_eq}}</code>
* {{<code|>asm}}</code>
* {{<code|>auto}}</code>
* {{<code|>bitand}}</code>
* {{<code|>bitor}}</code>
* {{<code|>bool}}</code>
* {{<code|>break}}</code>
* {{<code|>case}}</code>
* {{<code|>catch}}</code>
* {{<code|>char}}</code>
* {{<code|>char8_t}}</code>
* {{<code|>char16_t}}</code>
* {{<code|>char32_t}}</code>
* {{<code|>class}}</code>
* {{<code|>compl}}</code>
* {{<code|>concept}}</code>
* {{<code|>const}}</code>
* {{<code|>consteval}}</code>
* {{<code|>constexpr}}</code>
* {{<code|>constinit}}</code>
* {{<code|>const_cast}}</code>
* {{<code|>continue}}</code>
* {{<code|>contract_assert}}</code>
* {{<code|>co_await}}</code>
* {{<code|>co_return}}</code>
* {{<code|>co_yield}}</code>
* {{<code|>decltype}}</code>
* {{<code|>default}}</code>
* {{<code|>do}}</code>
* {{<code|>double}}</code>
* {{<code|>dynamic_cast}}</code>
* {{<code|>else}}</code>
* {{<code|>enum}}</code>
* {{<code|>explicit}}</code>
* {{<code|>export}}</code>
* {{<code|>extern}}</code>
* {{<code|>false}}</code>
* {{<code|>float}}</code>
* {{<code|>for}}</code>
* {{<code|>friend}}</code>
* {{<code|>goto}}</code>
* {{<code|>if}}</code>
* {{<code|>import}}</code>
* {{<code|>inline}}</code>
* {{<code|>int}}</code>
* {{<code|>long}}</code>
* {{<code|>module}}</code>
* {{<code|>mutable}}</code>
* {{<code|>namespace}}</code>
* {{<code|>new}}</code>
* {{<code|>noexcept}}</code>
* {{<code|>not}}</code>
* {{<code|>not_eq}}</code>
* {{<code|>nullptr}}</code>
* {{<code|>operator}}</code>
* {{<code|>or}}</code>
* {{<code|>or_eq}}</code>
* {{<code|>private}}</code>
* {{<code|>protected}}</code>
* {{<code|>public}}</code>
* {{<code|>register}}</code>
* {{<code|>reinterpret_cast}}</code>
* {{<code|>requires}}</code>
* {{<code|>return}}</code>
* {{<code|>short}}</code>
* {{<code|>signed}}</code>
* {{<code|>sizeof}}</code>
* {{<code|>static}}</code>
* {{<code|>static_assert}}</code>
* {{<code|>static_cast}}</code>
* {{<code|>struct}}</code>
* {{<code|>switch}}</code>
* {{<code|>template}}</code>
* {{<code|>this}}</code>
* {{<code|>thread_local}}</code>
* {{<code|>throw}}</code>
* {{<code|>true}}</code>
* {{<code|>try}}</code>
* {{<code|>typedef}}</code>
* {{<code|>typeid}}</code>
* {{<code|>typename}}</code>
* {{<code|>union}}</code>
* {{<code|>unsigned}}</code>
* {{<code|>using}}</code>
* {{<code|>virtual}}</code>
* {{<code|>void}}</code>
* {{<code|>volatile}}</code>
* {{<code|>wchar_t}}</code>
* {{<code|>while}}</code>
* {{<code|>xor}}</code>
* {{<code|>xor_eq}}</code>
{{div col end}}
The following words may be used as identifier names, but bear special meanings in certain contexts.
{{div col|colwidth=15em}}
* {{<code|>final}}</code>
* {{<code|>override}}</code>
* {{<code|>pre}}</code>
* {{<code|>post}}</code>
* {{<code|>trivially_relocatable_if_eligible}}</code>
* {{<code|>replaceable_if_eligible}}</code>
{{div col end}}
The following tokens are recognised by the [[C preprocessor|preprocessor]] in the context of preprocessor directives.
{{div col|colwidth=15em}}
* {{<code|>#if}}</code>
* {{<code|>#elif}}</code>
* {{<code|>#else}}</code>
* {{<code|>#endif}}</code>
* {{<code|>#ifdef}}</code>
* {{<code|>#ifndef}}</code>
* {{<code|>#elifdef}}</code>
* {{<code|>#elifndef}}</code>
* {{<code|>#define}}</code>
* {{<code|>#undef}}</code>
* {{<code|>#include}}</code>
* {{<code|>#embed}}</code>
* {{<code|>#line}}</code>
* {{<code|>#error}}</code>
* {{<code|>#warning}}</code>
* {{<code|>#pragma}}</code>
* {{<code|>defined}}</code> (follows a conditional directive)
* {{<code|>#__has_include}}</code>
* {{<code|>#__has_cpp_attribute}}</code>
* {{<code|>#__has_embed}}</code>
{{div col end}}
|