例如,我有一个双精度数组,我想搜索等于2.0的值,但是由于它是一个双精度数组,所以很难找到确切的值,因此我想找到2-1e-10范围内的值,2 + 1e-10。我已经看到有人使用upper_bound和lower_bound来做到这一点。我怎么做? 最佳答案 只需使用谓词:std::count_if( begin(array), end(array), [](double v) { return std::abs(v - 2.0) <= 1e-10; } );