我已经实现了自己的容器:
template<typename T>
class MyContainer
{
// body where in some point 2 elements of collection are compared (-1, 0 and 1 possible comparison results)
};
我想要做的是添加对函数对象的支持,就像在 std::set 中一样,可以像这样执行函数对象:
struct Comparator
{
bool operator()(const char* s1, const char* s2) const
{
return strcmp(s1, s2) < 0;
}
};
然后将其作为设置参数传递:
std::set<const char*, Comparator> SomeSet;
我不是日常的 C++ 程序员,所以我需要帮助来实现这一点。为了增加对此的支持,我必须做什么?我必须创建字段MyContainer
才能在其中存储函数对象以在容器内的排序方法中使用它吗?