名前空間
変種
操作

C++ のキーワード

提供: cppreference.com
< cpp
 
 
C++言語
一般的なトピック
フロー制御
条件付き実行文
繰り返し文 (ループ)
ジャンプ文
関数
関数宣言
ラムダ関数宣言
inline 指定子
例外指定(C++20未満)
noexcept 指定子(C++11)
例外
名前空間
指定子
decltype(C++11)
auto(C++11)
alignas(C++11)
記憶域期間指定子
初期化
代替表現
リテラル
ブーリアン - 整数 - 浮動小数点
文字 - 文字列 - nullptr(C++11)
ユーザ定義(C++11)
ユーティリティ
属性(C++11)
typedef 宣言
型エイリアス宣言(C++11)
キャスト
暗黙の変換 - 明示的な変換
static_cast - dynamic_cast
const_cast - reinterpret_cast
メモリ確保
クラス
クラス固有の関数特性
特別なメンバ関数
テンプレート
その他
 
 

これは C++ の予約済みキーワードの一覧です。 これらは言語によって使用されるため、再定義したりオーバーロードすることはできません。

alignas(C++11以上)
alignof(C++11以上)
and
and_eq
asm
atomic_cancel(TM TS)
atomic_commit(TM TS)
atomic_noexcept(TM TS)
auto(1)
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以上)
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(1)
delete(1)
do
double
dynamic_cast
else
enum
explicit
export(1)(3)
extern(1)
false
float
for
friend
goto
if
inline(1)
int
long
mutable(1)
namespace
new
noexcept(C++11以上)
not
not_eq
nullptr(C++11以上)
operator
or
or_eq
private
protected
public
reflexpr(reflection TS)

register(2)
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
thread_local(C++11以上)
throw
true
try
typedef
typeid
typename
union
unsigned
using(1)
virtual
void
volatile
wchar_t
while
xor
xor_eq

  • (1) - C++11 で意味が変更されたり新しい意味が追加されたりしました。
  • (2) - C++17 で意味が変更されました。
  • (3) - C++20 で意味が変更されました。

and, bitor, or, xor, compl, bitand, and_eq, or_eq, xor_eq, not, not_eq は (ダイグラフ <%, %>, <:, :>, %:, %:%: と共に) 標準のトークンを表現する代替手段を提供します。

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

override(C++11)
final(C++11)
import(C++20)
module(C++20)
transaction_safe(TM TS)
transaction_safe_dynamic(TM TS)

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

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

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

(C++11以上)

以下のトークンはプリプロセッサ指令の文脈で現れた場合プリプロセッサによって認識されます。

if
elif
else
endif

ifdef
ifndef
define
undef

include
line
error
pragma

defined
__has_include(C++17以上)
__has_cpp_attribute(C++20以上)

以下のトークンはプリプロセッサ指令の文脈の「外」で現れた場合プリプロセッサによって認識されます。

_Pragma(C++11以上)

[編集]関連項目

CのキーワードC言語リファレンス
close