回答編集履歴

3

コンストラクタなしのコード追記

2020/06/09 14:18

投稿

SHOMI
SHOMI

スコア4079

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追記

2020/06/09 14:18

投稿

SHOMI
SHOMI

スコア4079

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

文言修正

2020/06/09 14:10

投稿

SHOMI
SHOMI

スコア4079

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