-アライメント指定子を使うことによって、より厳格なアライメントを要求することができる。詳細はアライメント指定子を参照 +アライメント指定子を使うことによって、より厳格なアライメントを要求することができる。詳細はアライメント指定子を参照。
@@ -5690,7 +5690,7 @@ int main()ラムダ式(Lambda expressions)
-ラムダ式(lambda expression)は、関数オブジェクトを簡単に記述するための式である。以下のような文法になる +ラムダ式(lambda expression)は、関数オブジェクトを簡単に記述するための式である。以下のような文法になる。
@@ -6626,7 +6626,7 @@ void f( Types ... args ) 式 [ 初期化リスト ]-operator []は、添字と呼ばれる式である。これは、配列の要素にアクセスするために用いられる。どちらか片方の式は、Tへのポインター型でなければならず、もう片方は、unscoped enumか、整数型でなければならない。式の結果は、lvalueのTとなる。式、E1[E2] は、*((E1)+(E2)) と書くのに等しい +operator []は、添字と呼ばれる式である。これは、配列の要素にアクセスするために用いられる。どちらか片方の式は、Tへのポインター型でなければならず、もう片方は、unscoped enumか、整数型でなければならない。式の結果は、lvalueのTとなる。式、E1[E2] は、*((E1)+(E2)) と書くのに等しい。
@@ -9640,7 +9640,7 @@ int main()-乗除算の演算子は、「左から右」に評価される +乗除算の演算子は、「左から右」に評価される。
@@ -11148,7 +11148,7 @@ if文は、条件の値によって、実行すべき文を変える。
-条件がtrueと評価された場合、一つ目の文が実行される。条件がfalseと評価された場合、elseに続く二つ目の文が有るのならば、二つ目の文が実行される +条件がtrueと評価された場合、一つ目の文が実行される。条件がfalseと評価された場合、elseに続く二つ目の文が有るのならば、二つ目の文が実行される。
@@ -12647,7 +12647,7 @@ static_assert( false, "hello" ) ;-具体的な利用例としては、今、int型のサイズが4バイトであることを前提としたコードを書きたいとする。このコードは当然ながらポータビリティがない。そこで、int型のサイズが4バイトではない環境では、コンパイルエラーになってほしい。これは、以下のように書ける +具体的な利用例としては、今、int型のサイズが4バイトであることを前提としたコードを書きたいとする。このコードは当然ながらポータビリティがない。そこで、int型のサイズが4バイトではない環境では、コンパイルエラーになってほしい。これは、以下のように書ける。
@@ -13185,7 +13185,7 @@ b // 宣言子@@ -13318,7 +13318,7 @@ constexpr int h( unsigned int n ) friend指定子(The friend specifier)
-以下は、constexpr関数の制約を満たさない誤ったコードの例である +以下は、constexpr関数の制約を満たさない誤ったコードの例である。
// エラー、使えない文の使用 @@ -13554,7 +13554,7 @@ constexpr non_literal c{ } ;-初期化にコンストラクター呼び出しが行われる場合、コンストラクター呼び出しは定数式でなければならない +初期化にコンストラクター呼び出しが行われる場合、コンストラクター呼び出しは定数式でなければならない。
@@ -13654,7 +13654,7 @@ unsigned b = 0 ;
-また、shortやlongやlong longは、それぞれintが省略されたものとみなされる +また、shortやlongやlong longは、それぞれintが省略されたものとみなされる。
@@ -14510,7 +14510,7 @@ enum宣言によって、宣言のみされたenum名は、通常のenumと同-列挙子を使うことができないenum宣言に、何の意味があるのか。enum宣言が導入された背景には、ある種の利用方法では、すべての翻訳単位に列挙子が必要ないこともあるのだ +列挙子を使うことができないenum宣言に、何の意味があるのか。enum宣言が導入された背景には、ある種の利用方法では、すべての翻訳単位に列挙子が必要ないこともあるのだ。
無駄な定義を省く
@@ -14835,7 +14835,7 @@ namespace ln = long_name ;
-同じ宣言領域で、別名と名前空間の名前が衝突してはならない +同じ宣言領域で、別名と名前空間の名前が衝突してはならない。
@@ -15327,7 +15327,7 @@ extern "C"
-リンケージ指定は、名前空間スコープの中でのみ、使うことができる。ブロックスコープ内などでは使えない +リンケージ指定は、名前空間スコープの中でのみ、使うことができる。ブロックスコープ内などでは使えない。
@@ -15423,7 +15423,7 @@ NOTE: アトリビュートの解説は、C++14となる予定の現時点での
-アトリビュートの文法は、以下のようになる +アトリビュートの文法は、以下のようになる。
@@ -15465,7 +15465,7 @@ struct S
-ただし、ビットフィールド、関数の仮引数、例外宣言、registerストレージクラス指定子つきで宣言された変数には指定できない +ただし、ビットフィールド、関数の仮引数、例外宣言、registerストレージクラス指定子つきで宣言された変数には指定できない。
@@ -15580,7 +15580,7 @@ alignas( int ) int x ;
-ひとつのエンティティに複数のアライメントが指定された場合、最も厳格なアライメント要求になる +ひとつのエンティティに複数のアライメントが指定された場合、最も厳格なアライメント要求になる。
@@ -15617,7 +15617,7 @@ struct alignas(16) S ; // エラー、同等ではない
-もし、エンティティの宣言のどれかひとつにでもアライメント指定子があった場合、そのエンティティの定義となる宣言にも、同等のアライメントを指定しなければならない +もし、エンティティの宣言のどれかひとつにでもアライメント指定子があった場合、そのエンティティの定義となる宣言にも、同等のアライメントを指定しなければならない。
@@ -16226,7 +16226,7 @@ int S:: * ptr_value = &S::value ;
-メンバーへのポインターは、クラスのstaticなメンバーを参照することはできない。また、リファレンス型のメンバーを参照することもできない +メンバーへのポインターは、クラスのstaticなメンバーを参照することはできない。また、リファレンス型のメンバーを参照することもできない。
@@ -16351,7 +16351,7 @@ int a[] = { 1, 2, 3 } ; // 型はint [3]