【发布时间】:2010-12-31 10:20:36
【问题描述】:
让我们用一组模板对象表示新的用户类型 Tlist:
template <class T>
struct TList
{
typedef std::set <Object <T>, sortByVal > TObjects;
};
必须是比较器sortByVal也是模板类还是非模板类的模板方法就足够了?
class sortByVal
{
public:
template <class T>
bool operator() ( const Object <T> &o1, const Object <T> &o2 ) const
{
return o1.getVal() < o2.getVal();
}
};
或
template <class T>
class sortByVal
{
public:
bool operator() ( const Object <T> &o1, const Object <T> &o2 ) const
{
return o1.getVal() < o2.getVal();
}
};
【问题讨论】:
-
它被称为类模板,因为它是创建类的模板,而不是相反。
标签: c++ templates comparator