【发布时间】:2014-01-08 15:12:40
【问题描述】:
今天在stl_pair.h中看到如下代码:
#ifdef __STL_FUNCTION_TMPL_PARTIAL_ORDER
template <class _T1, class _T2>
inline bool operator!=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) {
return !(__x == __y);
}
template <class _T1, class _T2>
inline bool operator>(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) {
return __y < __x;
}
#endif /* __STL_FUNCTION_TMPL_PARTIAL_ORDER */
我不认为模板函数与偏特化有任何关联 的功能模板。 我错了吗?
【问题讨论】:
-
部分排序与部分特化无关(无论如何不能用函数模板完成)。偏序是关于如何对重载函数进行排序,其中多个函数适合一组参数。
-
感谢您回答我的问题!你对偏序的解释是对的。但是用谷歌,我发现偏序用于模板函数重载。
-
对,我应该说“对重载函数模板进行排序”。
-
看了你的回答并搜索了一些资料后,我发现我应该学习一些关于名称查找、函数重载的东西,尤其是模板函数,但我不知道任何具体的材料,你能有什么建议吗?
标签: c++ templates overload-resolution template-argument-deduction