gpt4 book ai didi

c++ - 为 STL 容器使用没有默认构造函数的仿函数

转载 作者:太空狗 更新时间:2023-10-29 20:12:56 25 4
gpt4 key购买 nike

我想为 std::set 使用我自己的比较器,它需要一个参数传递给它的构造函数:

template <class T = double> class EpsCompare {
public:
EpsCompare(T input_eps) : _eps(input_eps) {};
bool operator() (const T & element1, const T & element2) const {
return ( round(element1*_eps) < round(element2*_eps) );
}
T _eps;
};

如何将其传递到我的集合数据类型的声明中?我想做这样的事情:

std::set<double, EpsCompare<double>(1e-5)> myEpsSet;

这不会编译,那么还能如何完成呢?

最佳答案

std::set<double, EpsCompare<> > myEpsSet(EpsCompare<>(1e-5));

std::set<double, EpsCompare<double> > myEpsSet(EpsCompare<double>(1e-5));

关于c++ - 为 STL 容器使用没有默认构造函数的仿函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24517290/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com