gpt4 book ai didi

c++ - vector 在公差范围内查找 double

转载 作者:太空狗 更新时间:2023-10-29 23:25:36 24 4
gpt4 key购买 nike

我有一个

std::vector<double> v;

我希望检测其中是否存在真实值,直到容错级别为 say

 1e-6;

The documentation表示 operator== 用于查找容器中是否存在值。

如何生成我需要的 double 行为?

最佳答案

您不能使用普通的 find 来使用自定义比较器进行搜索 - 您需要改用 find_if。你已经有了 C++11 的答案,这里有一个用于 C++03 的答案:

struct dbl_cmp {
dbl_cmp(double v, double d) : val(v), delta(d) { }
inline bool operator()(const double &x) const {
return abs(x-val) < delta;
}
private:
double val, delta;
};
...
find_if(v.begin(), v.end(), dbl_cmp(10.5, 1E-8));

关于c++ - vector<double> 在公差范围内查找 double,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15406846/

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