![]() |
1
3
为什么要使用模板方法呢?如果有很多类类型,只需使用您想要基于的特定类或公共基类即可。 例如
如果这种模式经常发生在不同的类类型中,并且您在使用谓词之前就知道这些类型,那么您可以对谓词本身进行模板化。 例如
或者你可以使用的另一种方法是使用某种类别特征来保存信息。 例如
所有这些方法的缺点是,在某些时候,您需要知道类型,以便能够将它们拆分为要使用的方法。 |
![]() |
2
1
你可以看看
Veldhuizen's homepage
|
![]() |
3
0
让您的类型从“功能类型”(例如类型“has_function1”)派生,该类型将用作java接口,您有机会,因为SFINAE可以用于测试一种类型是否可以转换为另一种类型。 如果你感兴趣,我可以调查一下,给你一个更详细的答案。 我知道你说过你没有可用的Boost库,但是有没有什么东西阻止你获得获得Boost::可用的几个文件?没有什么特别的东西需要编译! |
![]() |
4
0
提振不是魔法;使用SFINAE相当简单:
如果没有编译,SFINAE将删除第二个重载。重载解析将选择第二个,如果它编译自。。。这是一场更糟糕的比赛。 |
![]() |
AstralHex · 矩阵乘法代码工作不正常 5 月前 |
![]() |
Fishie · 作为类成员的智能指针是否仍然自动释放?[关闭] 5 月前 |
![]() |
Die4Toast · 递归调用成员箭头运算符-> 5 月前 |
![]() |
Anka Hanım · 关于结构和动态数组地址的问题 5 月前 |