s******y 发帖数: 68 | 1 like map
how to write X ? thanks |
w******p 发帖数: 166 | 2 that comparator can be defined as a functor, for example
struct my_cmp {
int operator() (const T* v1, const T* v2) {
return v1 < v2;
}
} |
O*******d 发帖数: 20343 | 3 在microsoft VC++ 6, 必须是greater的特例.
template <>
struct std::greater
: public binary_function
{
int operator() (const T* v1, const T* v2) {
return v1 < v2;
}
} |
t****t 发帖数: 6806 | 4 you mean std::less?
【在 O*******d 的大作中提到】 : 在microsoft VC++ 6, 必须是greater的特例. : template <> : struct std::greater : : public binary_function : { : int operator() (const T* v1, const T* v2) { : return v1 < v2; : } : }
|
O*******d 发帖数: 20343 | 5 一般用map不需要额外自定义比较函数. 如果你用的是class object, 只需要在class里
作一个operator <就可以了.
class T
{
public:
bool operator < (const T & t) const
{
if(&t == this)
return false;
// compare *this and t and return true or false
}
} |