回答編集履歴

2

関数名の変更

2020/05/07 20:40

投稿

ameagari_hare
ameagari_hare

スコア39

test CHANGED
@@ -22,7 +22,7 @@
22
22
 
23
23
  typedef typename Traits< T >::int_type int_type;
24
24
 
25
- int_type f() { return int_type{}; }
25
+ int_type get() { return int_type{}; }
26
26
 
27
27
  };
28
28
 
@@ -32,15 +32,15 @@
32
32
 
33
33
  User< char > u_c;
34
34
 
35
- auto c = u_c.f(); //cはint
35
+ auto c = u_c.get(); //cはint
36
36
 
37
37
  User< int > u_i;
38
38
 
39
- auto i = u_i.f(); //iはint
39
+ auto i = u_i.get(); //iはint
40
40
 
41
41
  User< long long > u_ll;
42
42
 
43
- auto ll = u_ll.f(); //llはlong long
43
+ auto ll = u_ll.get(); //llはlong long
44
44
 
45
45
  }
46
46
 

1

文章構成の変更

2020/05/07 20:40

投稿

ameagari_hare
ameagari_hare

スコア39

test CHANGED
@@ -1,6 +1,8 @@
1
1
  テンプレートが絡んでいるのであれば、
2
2
 
3
3
  int_typeは、コンパイル時の"型の変数"と捉えると良いかと思います。
4
+
5
+ 以下は、テンプレートの実引数Tに応じて型が変化する例です。
4
6
 
5
7
  ```C++
6
8
 
@@ -44,9 +46,7 @@
44
46
 
45
47
  ```
46
48
 
47
- これはテンプレートの実引数Tに応じて型が変化する例です。
48
-
49
- Tがcharであればint_typeintであることが強制され、それ以外ならそのままTを使用します。
49
+ この場合、Tがcharであればint_type = int、それ以外ならint_type = Tと解釈できます。
50
50
 
51
51
 
52
52