C++の予約語(キーワード)とは?全95個を一覧表付きで徹底解説
C++の予約語(キーワード)とは?
予約語(reserved word/リザーブドワード)とは、変数名・関数名・ラベルなどの識別子として使用できない単語のことです。これらは「使用のために予約されている」ため、このように呼ばれます。ただしこれはあくまで構文上の定義であり、予約語の中には特定の意味を持たないものも存在します。
現在のC++には、合計95個の予約語が定義されています。これらの予約語は、由来や用途によっていくつかのグループに分類すると、理解しやすくなります。
C++の予約語の分類
1. C言語から引き継がれた予約語(32個)
最初のグループは、C言語に元々存在し、そのままC++へと引き継がれた予約語です。ここには int、if、for、while といった基本データ型や制御文に関するキーワードが含まれており、全部で32個あります。
2. C++で新たに追加された予約語(30個)
2つ目のグループは、C言語には存在せず、C++向けに新しく追加された30個の予約語です。class、namespace、template、new、delete など、オブジェクト指向プログラミングや例外処理に関連するキーワードが中心となっています。
3. 演算子の代替表記として追加された予約語(11個)
3つ目のグループは、標準のASCII文字セットを使用する環境では必須ではないものの、&& や || などの一部の演算子に対して、より読みやすい代替表記(alternative tokens)を提供するために追加された11個の予約語です。具体的には and(&&)、or(||)、not(!)、xor(^)などが該当します。これにより、C++に必要な記号を含まない文字セットを使ったプログラミングも容易になります。
C++の予約語一覧(全95個)
以下に、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 | char16_t(C++11以降) | char32_t(C++11以降) |
| class(1) | compl | concept(C++20以降) |
| const | constexpr(C++11以降) | const_cast |
| continue | co_await(coroutines TS) | co_return(coroutines TS) |
| co_yield(coroutines TS) | decltype(C++11以降) | default(1) |
| delete(1) | do | double |
| dynamic_cast | else | enum |
| explicit | export(1) | extern(1) |
| false | float | for |
| friend | goto | if |
| import(modules TS) | inline(1) | int |
| long | module(modules TS) | mutable(1) |
| namespace | new | noexcept(C++11以降) |
| not | not_eq | nullptr(C++11以降) |
| operator | or | or_eq |
| private | protected | public |
| 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):使用されなくなった、あるいは用途が変更されたキーワードです。
registerは非推奨となり、C++17で言語仕様から削除されました。
また、「TM TS」(トランザクショナルメモリ)「coroutines TS」(コルーチン)「modules TS」(モジュール)と付いたキーワードは、正式規格以前の技術仕様(TS:Technical Specification)として提案された機能に関連するものです。
予約語は識別子として使用できないため、変数名や関数名を付ける際には、この一覧との重複に注意しましょう。
-
Pythonの予約語(キーワード)とは?一覧と注意点をわかりやすく解説
Pythonの予約語(キーワード)とはPythonにおける予約語(キーワード)とは、言語仕様上、特別な意味を持つようにあらかじめ定められた単語のことです。これらの単語は、変数名・定数名・関数名などの識別子として使用することができません。また、Pythonのキーワードはすべて小文字のみで構成されているという特徴があります。Pythonの予約語一覧以下の表がPythonの予約語の一覧です。andexecnotassertfinallyorbreakforpassclassfromprintcontinueglobalraisedefifreturndelimporttryelifinwhileel
-
Pythonの予約キーワード(予約語)とは?一覧と確認方法をわかりやすく解説
予約語(キーワード)とは予約語(reserved words)は「キーワード」とも呼ばれ、言語仕様の中であらかじめ意味と構文が定義された特別な単語のことです。条件分岐やループ処理といったプログラミング命令を記述する際には、必ずこれらのキーワードを使用します。重要なポイントとして、予約語は変数名や関数名など、他のプログラミング要素の識別子(identifier)として使用できません。例えば「def」や「import」という名前の変数を作成しようとすると、SyntaxError(構文エラー)が発生します。Python 3の予約キーワード一覧以下は、Python 3で定義されている予約キーワードの一