![]() |
1
5
要详细说明模板专业化的建议使用:
但是,这要求每个类都有一个专门化,没有对B的“自动检测”。而且,您重复了很多代码。 您可以在助手模板中考虑到“有B”方面。简单演示:
|
![]() |
2
3
解决方案1:可以使用模板 专业化 . 专业化可以根据每堂课进行,也可以根据一些更一般的特点进行。 |
![]() |
3
0
如果不想对代码中的s1&s2专门化进行硬编码,那么可以执行以下操作:
|
![]() |
4
0
为了详细说明其他人的答案,最好的方法似乎是不在多个模板中重复相同的代码,只需要有一个“额外的东西”函数(对于大多数数据类型来说是空的,但是对于任何有额外数据的对象都包含代码),其中“模板专业化”选择为e运行哪个“额外的东西”函数。ACH数据类型。 更新代码:
|
![]() |
TCD · 标准库非类型模板类是否显式实例化? 2 年前 |
![]() |
sovesti · 参数较少的模板函数中的演绎 2 年前 |
![]() |
KiraHoneybee · 具有构造函数参数的模板化类 2 年前 |
![]() |
Seymore Glass · 模板不工作的默认参数 2 年前 |
![]() |
Alexander Daum · 模板参数中对模板类型的引用 6 年前 |
![]() |
ledonter · 为什么注入的类名有时不被视为类模板中的模板名? 6 年前 |