回答編集履歴
3
コンストラクタなしのコード追記
test
CHANGED
@@ -72,6 +72,32 @@
|
|
72
72
|
|
73
73
|
|
74
74
|
|
75
|
+
---
|
76
|
+
|
77
|
+
`Point`にコンストラクタを追加しなくても、
|
78
|
+
|
79
|
+
|
80
|
+
|
81
|
+
```diff
|
82
|
+
|
83
|
+
-return Point<decltype(a.x* b)>(a.x * b, a.y * b);
|
84
|
+
|
85
|
+
+return Point<decltype(a.x* b)>{a.x * b, a.y * b};
|
86
|
+
|
87
|
+
-std::cout << Point<int>(3, 2) * 0.5 << std::endl;
|
88
|
+
|
89
|
+
+std::cout << Point<int>{3, 2} * 0.5 << std::endl;
|
90
|
+
|
91
|
+
```
|
92
|
+
|
93
|
+
とすればコンパイル可能です。
|
94
|
+
|
95
|
+
|
96
|
+
|
97
|
+
---
|
98
|
+
|
99
|
+
|
100
|
+
|
75
101
|
> decltypeを使うメリット
|
76
102
|
|
77
103
|
|
2
decltype追記
test
CHANGED
@@ -69,3 +69,15 @@
|
|
69
69
|
1.5,1
|
70
70
|
|
71
71
|
```
|
72
|
+
|
73
|
+
|
74
|
+
|
75
|
+
> decltypeを使うメリット
|
76
|
+
|
77
|
+
|
78
|
+
|
79
|
+
以下のリンク先「この機能が必要になった背景・経緯」を参照して下さい。
|
80
|
+
|
81
|
+
[decltype](https://cpprefjp.github.io/lang/cpp11/decltype.html)
|
82
|
+
|
83
|
+
[戻り値の型を後置する関数宣言構文](https://cpprefjp.github.io/lang/cpp11/trailing_return_types.html)
|
1
文言修正
test
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
[ここ](http://yohshiy.blog.fc2.com/blog-entry-334.html)の「decltype の活用」でしょうか?
|
2
2
|
|
3
|
-
問題なく動作しましたが…
|
3
|
+
(コンストラクタとシフト演算子を追加すれば)問題なく動作しましたが…
|
4
4
|
|
5
5
|
```C++
|
6
6
|
|