回答編集履歴
2
appendix
test
CHANGED
@@ -160,6 +160,8 @@
|
|
160
160
|
|
161
161
|
}
|
162
162
|
|
163
|
+
```
|
163
164
|
|
164
165
|
|
166
|
+
|
165
|
-
|
167
|
+
おまけ:C++20のコンセプトを利用できるとすっきりします [https://wandbox.org/permlink/phnyEYpsTWhbQtl9](https://wandbox.org/permlink/phnyEYpsTWhbQtl9)
|
1
refine
test
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
|
4
4
|
|
5
|
-
おっしゃる通り、インスタンス化されたテンプレートクラス`Holder<SomeType>`の外部から、そのテンプレート実引数`SomeType`を取り出すことはできません。
|
5
|
+
おっしゃる通り、インスタンス化されたテンプレートクラス`Holder<SomeType>`型の外部から、そのテンプレート実引数`SomeType`型を取り出すことはできません。つまり、その要件そのままでは実装不可能です。
|
6
6
|
|
7
7
|
|
8
8
|
|
@@ -10,7 +10,7 @@
|
|
10
10
|
|
11
11
|
|
12
12
|
|
13
|
-
|
13
|
+
一般的な設計としては、テンプレートクラスのテンプレート実引数に対応する型名(`value_type`など)を公開します。このようなインタフェース設計を前提とすれば、`Holder2<SomeType>`型から`Holder2<SomeType>::value_type`つまり`SomeType`型を取り出せるようになります。
|
14
14
|
|
15
15
|
|
16
16
|
|