名前空間
変種
操作

C++キーワード

From cppreference.com
< cpp
 
 
C++言語
全般
フロー制御
条件実行文
if
繰り返し文 (ループ)
for
範囲for (C++11)
ジャンプ文
関数
関数宣言
ラムダ式
inline指定子
動的例外仕様 (C++17まで*)
noexcept指定子 (C++11)
例外
名前空間
指定子
const/volatile
decltype (C++11)
auto (C++11)
constexpr (C++11)
consteval (C++20)
constinit (C++20)
記憶域期間指定子
初期化
代替表現
リテラル
ブーリアン - 整数 - 浮動小数点数
文字 - 文字列 - nullptr (C++11)
ユーザー定義 (C++11)
ユーティリティ
属性 (C++11)
typedef宣言
型エイリアス宣言 (C++11)
キャスト
メモリ確保
クラス
クラス固有の関数プロパティ
explicit (C++11)
static

特殊メンバ関数
テンプレート
その他
 
 

これは、C++における予約済みキーワードのリストです。これらは言語によって使用されるため、再定義やオーバーロードはできません。例外として、属性(属性引数リストを除く)の中では予約済みとは見なされません。(C++11以降)

A – C D – P R – Z

alignas (C++11)
alignof (C++11)
および
and_eq
asm
atomic_cancel (TM TS)
atomic_commit (TM TS)
atomic_noexcept (TM TS)
auto (1) (3) (4) (5)
bitand
bitor
bool
break
case
catch
char
char8_t (C++20)
char16_t (C++11)
char32_t (C++11)
class (1)
compl
concept (C++20)
const
consteval (C++20) (5)
constexpr (C++11) (3)
constinit (C++20)
const_cast
continue
contract_assert (C++26)
co_await (C++20)
co_return (C++20)
co_yield (C++20)

decltype (C++11) (2)
default (1)
delete (1)
do
double
dynamic_cast
else
enum (1)
explicit
export (1) (4)
extern (1)
false
float
for (1)
friend (フレンド)
goto
if (3) (5)
inline (1) (3)
int (1)
long
mutable (1)
namespace
new
noexcept (C++11)
not
not_eq
nullptr (C++11)
operator (1)
or
or_eq
private (4)
protected
public

reflexpr (reflection TS)
register (3)
reinterpret_cast
requires (C++20)
return
short
signed
sizeof (1)
static
static_assert (C++11)
static_cast
struct (1)
switch
synchronized (TM TS)
template
this (5)
thread_local (C++11)
throw (3) (4)
true
try
typedef
typeid
typename (3) (4)
union
unsigned
using (1) (4)
virtual
void
volatile
wchar_t
while
xor
xor_eq

  • (1) — C++11で意味が変更、または新しい意味が追加。
  • (2) — C++14で新しい意味が追加。
  • (3) — C++17で意味が変更、または新しい意味が追加。
  • (4) — C++20で意味が変更、または新しい意味が追加。
  • (5) — C++23で新しい意味が追加。

注: and, bitor, or, xor, compl, bitand, and_eq, or_eq, xor_eq, not および not_eq は(ダイグラフ <%, %>, <:, :>, %:, %:%: およびトライグラフ: ??<, ??>, ??(, ??), ??=, ??/, ??', ??!, ??-(C++17まで)と共に)標準トークンを代替表現する方法を提供します。これらのキーワードも属性(属性引数リストを除く)の中では予約済みと見なされますが、一部の実装では他と同様に扱います。(C++11以降)

キーワードに加えて、特別な意味を持つ識別子があります。これらはオブジェクトや関数の名前として使用できますが、特定の文脈では特別な意味を持ちます。

final (C++11)
override (C++11)
transaction_safe (TM TS)
transaction_safe_dynamic (TM TS)
import (C++20)
module (C++20)
pre (C++26)
post (C++26)
trivially_relocatable_if_eligible (C++26)
replaceable_if_eligible (C++26)

また、任意の位置に二重アンダースコア __ を含むすべての識別子、およびアンダースコアの後に大文字が続く各識別子は常に予約されており、アンダースコアで始まるすべての識別子はグローバル名前空間での名前として使用するために予約されています。詳細については識別子を参照してください。

名前空間 std は、標準C++ライブラリの名前を配置するために使用されます。それに名前を追加するルールについては、名前空間stdの拡張を参照してください。

名前 posix は将来のトップレベル名前空間のために予約されています。プログラムがその名前空間で何かを宣言または定義した場合の動作は未定義です。

(C++11以降)

以下のトークンは、プリプロセッサディレクティブのコンテキスト内でプリプロセッサによって認識されます

if
elif
else
endif

ifdef
ifndef
elifdef (C++23)
elifndef (C++23)
define
undef

include
embed (C++26)
line

error
warning (C++23)
pragma

defined
__has_include (C++17)
__has_cpp_attribute (C++20)
__has_embed (C++26)

export (C++20)
import (C++20)
module (C++20)

以下のトークンは、プリプロセッサディレクティブのコンテキストのプリプロセッサによって認識されます

_Pragma (C++11)

[編集] 関連項目

CキーワードについてのCドキュメント
English 日本語 中文(简体) 中文(繁體)