文
提供: cppreference.com
文は順番に実行される C++ プログラムの断片です。 あらゆる関数の本体は文の並びです。 例えば、
int main()
{
int n = 1; // 宣言文
n = n + 1; // 式文
std::cout << "n = " << n << '\n'; // 式文
return 0; // return 文
}
C++ には以下の種類の文があります。
1) 式文
2) 複文
3) 選択文
4) 繰り返し文
5) ジャンプ文
6) 宣言文
7) try ブロック
8) atomic および synchronized ブロック (TM TS)
ラベル
あらゆる文は、文そのものの前にラベルとコロンを置くことによって、ラベル付けすることができます。
attr(オプション) identifier : statement
|
(1) | ||||||||
attr(オプション) case constexpr : statement
|
(2) | ||||||||
attr(オプション) default : statement
|
(3) | ||||||||
1) goto のためのターゲット
2) switch 文の case ラベル
3) switch 文の default ラベル
属性の並び attr はラベルの直前 (この場合、属性はそのラベルに適用されます) または任意の文そのものの直前 (この場合、属性は文全体に適用されます) に現れることができます。 ひとつの文に複数のラベルを付けることができます。 ラベルは (そしてラベルのみが) 関数スコープを持ちます。 非修飾名の名前探索はラベルを無視します。 ラベルはプログラム内の任意の他のエンティティと同じ名前を持つことができます。
式文
式にセミコロンが続いたものは文です。
attr(オプション) expression(オプション) ;
|
(1) | ||||||||
| attr(C++11) | - | オプショナルな任意個の属性の並び |
| expression | - | 式 |
一般的な C++ プログラムのほとんどの文は、代入や関数呼び出しなどの式文です。
式のない式文は空文と呼ばれます。 これは for や while ループに空の本体を与えるためによく使用されます。 また複文の終わりにラベルを置くためにも使用することができます。
複文
複文、またはブロックは、波括弧で囲まれた文の並びです。
attr(オプション) { statement...(オプション) }
|
(1) | ||||||||
ひとつの文が期待されるけれども複数の文を順に実行する必要があるとき (例えば if 文やループなどで)、複文が使用できます。
if (x > 5) // if 文の始まり
{ // ブロックの始まり
int n