From eccd654947eb23e7d744744c44492fd3944da314 Mon Sep 17 00:00:00 2001 From: Koichi Murase Date: Sat, 6 Jul 2019 17:22:00 +0900 Subject: [PATCH] =?UTF-8?q?C++11:=20=E8=A8=B3=E8=AA=9E=E3=81=AE=E7=B5=B1?= =?UTF-8?q?=E4=B8=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lang/cpp11/non_static_data_member_initializers.md | 2 +- lang/cpp11/range_based_for.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lang/cpp11/non_static_data_member_initializers.md b/lang/cpp11/non_static_data_member_initializers.md index 27f46ebdf7..6493a84982 100644 --- a/lang/cpp11/non_static_data_member_initializers.md +++ b/lang/cpp11/non_static_data_member_initializers.md @@ -30,7 +30,7 @@ int main() - 非静的メンバ変数の初期化子は、コンストラクタが呼び出された際に、メンバ変数の定義順に実行される - 非静的メンバ変数の初期化子は、ビットフィールドには適用できない - 非静的メンバ変数の型に`auto`プレースホルダは使用できない - - 初期化子の結果としてメンバ変数の型が決定される場合、引数依存の名前探索(ADL : Argument dependent lookup)および2段階名前探索(Two-phase lookup)が完了するまで型の決定を遅らせなければならず、クラスのデータレイアウトを決めることが難しくなる。また、ヘッダのインクルード順によって型が変わる可能性がある、という問題も発生するために、`auto`キーワードでの非静的メンバ変数の初期化は許可しない + - 初期化子の結果としてメンバ変数の型が決定される場合、引数依存の名前探索(Argument dependent lookup; ADL)および2段階名前探索(Two-phase name lookup)が完了するまで型の決定を遅らせなければならず、クラスのデータレイアウトを決めることが難しくなる。また、ヘッダのインクルード順によって型が変わる可能性がある、という問題も発生するために、`auto`キーワードでの非静的メンバ変数の初期化は許可しない - コンストラクタのメンバ初期化子で明示的にメンバ変数の初期化が行われた場合、そのメンバ変数に対する非静的メンバ変数の初期化子で指定した初期化処理は実行されない: ```cpp diff --git a/lang/cpp11/range_based_for.md b/lang/cpp11/range_based_for.md index 1dae13f10c..33720bea21 100644 --- a/lang/cpp11/range_based_for.md +++ b/lang/cpp11/range_based_for.md @@ -97,7 +97,7 @@ for (const auto& e : vec) { } ``` -展開されたコード内の`begin()`と`end()`が正確に何を呼びだすかについては、引数依存の名前検索(argument-dependent name lookup; ADL)を参照のこと。 +展開されたコード内の`begin()`と`end()`が正確に何を呼びだすかについては、引数依存の名前探索(argument-dependent name lookup; ADL)を参照のこと。 ## 例