質問編集履歴
1
引用箇所が間違っていた
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,12 +1,11 @@
|
|
1
1
|
下のリファレンス内にある C++ における委譲コンストラクタの「この機能が必要になった背景・経緯」でいくつか分からないことがあったので質問しました.
|
2
2
|
・[委譲コンストラクタ cpprefjp - C++日本語リファレンス](https://cpprefjp.github.io/lang/cpp11/delegating_constructors.html)
|
3
|
+
> 委譲コンストラクタがなかった頃、複数のコンストラクタで共通の処理を行うために、コンストラクタの本体(body)で共通処理の関数を呼び出していた。しかしこれは、コンストラクタでの初期化が完了したあとに行われる共通処理であるために、パフォーマンスを阻害していた。パフォーマンスを維持するためには、コンストラクタごとに同じ処理を書く必要があり、コードの肥大化が問題となった。
|
3
4
|
|
4
5
|
#### 質問の背景
|
5
6
|
次の質問のある解答にコメントしていますが,提案もあり改めて質問を作成しました.いくつか調べて分かった箇所もあるので正しい理解か確認したいです.
|
6
7
|
・[構造体のメンバ関数のようなもので構造体と同じ名前がついているもの](https://teratail.com/questions/321674)
|
7
|
-
> 委譲コンストラクタがなかった頃、複数のコンストラクタで共通の処理を行うために、コンストラクタの本体(body)で共通処理の関数を呼び出していた。しかしこれは、コンストラクタでの初期化が完了したあとに行われる共通処理であるために、パフォーマンスを阻害していた。パフォーマンスを維持するためには、コンストラクタごとに同じ処理を書く必要があり、コードの肥大化が問題となった。
|
8
8
|
|
9
|
-
|
10
9
|
参考サイトは次の通りです.最後のものは理解できてないのですが初心者が犯しやすい間違いで参考にしています.
|
11
10
|
・ [コンストラクタとメンバ初期化子リスト cppreference.com](https://ja.cppreference.com/w/cpp/language/initializer_list)
|
12
11
|
・ [メンバ初期化子リスト MaryCore](https://marycore.jp/prog/cpp/member-initializer-list/)
|