#include <iostream>
#include <string>
#include <algorithm>
#include <iterator>
#include <set>
using namespace std;
class DereferenceLess
{
public:
template<typename T>
bool operator()(const T* ptr1,const T* ptr2)
{
return *ptr1<*ptr2;
}
};
class Deference{
public:
template<typename T>
const T& operator()(const T* ptr)
{
return *ptr;
}
};
int main()
{
set<string*,DereferenceLess> ssp;
ssp.insert(new string("Anteater"));
ssp.insert(new string("Wombat"));
ssp.insert(new string("Lemur"));
ssp.insert(new string("Penguin"));
transform(ssp.begin(),ssp.end(),ostream_iterator<string>(cout,"\n"),Deference());
return 0;
}
为包含指针的关联容器指定比较类型
最新推荐文章于 2024-07-14 17:58:15 发布