回答編集履歴

6

()付きのコード削除、リンク追加

2019/08/06 15:41

投稿

SHOMI
SHOMI

スコア4079

test CHANGED
@@ -26,16 +26,8 @@
26
26
 
27
27
  ```C++
28
28
 
29
- Aggrecate(const std::shared_ptr<Hoge>& _hoges) : hoges({ _hoges }) {};
29
+ Aggrecate(const std::shared_ptr<Hoge>& _hoges) : hoges{ _hoges } {};
30
30
 
31
31
  ```
32
32
 
33
-
34
-
35
- `()`なしの以下でも通ります。
36
-
37
- ```C++
38
-
39
- Aggrecate(const std::shared_ptr<Hoge>& _hoges) : hoges{ _hoges } {};
33
+ [リスト初期化](https://ja.cppreference.com/w/cpp/language/list_initialization)の(5)です。
40
-
41
- ```

5

()なしでも通る旨追記

2019/08/06 15:41

投稿

SHOMI
SHOMI

スコア4079

test CHANGED
@@ -29,3 +29,13 @@
29
29
  Aggrecate(const std::shared_ptr<Hoge>& _hoges) : hoges({ _hoges }) {};
30
30
 
31
31
  ```
32
+
33
+
34
+
35
+ `()`なしの以下でも通ります。
36
+
37
+ ```C++
38
+
39
+ Aggrecate(const std::shared_ptr<Hoge>& _hoges) : hoges{ _hoges } {};
40
+
41
+ ```

4

vector格納コード追記

2019/08/06 15:17

投稿

SHOMI
SHOMI

スコア4079

test CHANGED
@@ -18,4 +18,14 @@
18
18
 
19
19
 
20
20
 
21
+ と書いてから気づきましたが、vectorに格納したいということなので
22
+
21
- それとも別のメンバ関数で別のshrared_ptrもあとから追加される可能性があって、コンストラクタではvectorの1要素目として格納したいということでしょうか。
23
+ 別のshrared_ptrもあとから追加される可能性があ、コンストラクタではvectorの1要素目として格納したいということでしょうか。
24
+
25
+ そうであれば以下ですかね。
26
+
27
+ ```C++
28
+
29
+ Aggrecate(const std::shared_ptr<Hoge>& _hoges) : hoges({ _hoges }) {};
30
+
31
+ ```

3

質問内容に関して追記

2019/08/06 14:57

投稿

SHOMI
SHOMI

スコア4079

test CHANGED
@@ -15,3 +15,7 @@
15
15
  ```
16
16
 
17
17
  の間違いでは?
18
+
19
+
20
+
21
+ それとも別のメンバ関数で別のshrared_ptrもあとから追加される可能性があって、コンストラクタではvectorの1要素目として格納したいということでしょうか。

2

質問ソースが変更されたので修正

2019/08/06 14:48

投稿

SHOMI
SHOMI

スコア4079

test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  ```C++
4
4
 
5
- Aggrecate(std::shared_ptr<Hoge>& _hoges) : hoges(_hoges){};
5
+ std::vector<std::shared_ptr<Hoge>> hoges;
6
6
 
7
7
  ```
8
8
 
@@ -10,7 +10,7 @@
10
10
 
11
11
  ```C++
12
12
 
13
- Aggrecate(std::vector<std::shared_ptr<Hoge>>& _hoges) : hoges(_hoges){};
13
+ std::shared_ptr<Hoge> hoges;
14
14
 
15
15
  ```
16
16
 

1

タイプミス修正

2019/08/06 14:44

投稿

SHOMI
SHOMI

スコア4079

test CHANGED
@@ -10,7 +10,7 @@
10
10
 
11
11
  ```C++
12
12
 
13
- Aggrecate(std::shared_ptr<std::shared_ptr<Hoge>>& _hoges) : hoges(_hoges){};
13
+ Aggrecate(std::vector<std::shared_ptr<Hoge>>& _hoges) : hoges(_hoges){};
14
14
 
15
15
  ```
16
16