|
|
1
6
您可以在std(17.4.3.1)中专门化模板,但不能添加重载。您的定义是一个重载,而不是针对每个模板的标准的专门化,并且在任何情况下函数都不能部分专门化。所以,在名称空间std中放置任何可能满足您需要的定义是未定义的。
不过,ADL应该让这项工作顺利进行,而不需要这样做。我假设stxxl迭代器在stxxl名称空间中,所以
|
|
|
2
2
正如我想说的,你想注入
综上所述,唯一允许您向
对于容器和函数的每一个组合,您都很符合规则。不幸的是,部分函数模板专门化在标准的当前体现中不存在。如果你真的很好奇,就花一个晚上来阅读 USENET post . 这真的很有启发性,也有点吓人。如果您只使用一些类型/函数组合,那么您可能可以编写一个漂亮的宏(gasp)来为您实现自动化。
你可以使用
ADL
如果没有
我会加上你自己的包装纸
|
|
|
3
1
std::因为每个函数都是一个公共的、有良好文档记录的算法函数,如果我使用的某个库不断地更改它,我不认为我会像它那样受伤;-。可能我计划的其他部分需要每个人都有好的 因此,我将使用不破坏此接口的解决方案,并保留std::for_each as i t is。 |
|
|
4
1
总结:
|
|
5
0
我不会尝试专门化std::for each()。
相反,我编写的函数使用std::for each(),但对stlxxl有专门化。
我尝试过,但未能使它与迭代器一起工作。 |
|
AstralHex · 矩阵乘法代码工作不正常 1 年前 |
|
|
Fishie · 作为类成员的智能指针是否仍然自动释放?[关闭] 1 年前 |
|
|
Die4Toast · 递归调用成员箭头运算符-> 1 年前 |
|
|
Anka Hanım · 关于结构和动态数组地址的问题 1 年前 |