gpt4 book ai didi

C++:将 double 列表与一些无效值进行比较 (QNAN)

转载 作者:搜寻专家 更新时间:2023-10-31 01:20:35 24 4
gpt4 key购买 nike

我需要比较两个 std::list < double >,但有些 double 可能是无效数字 (QNAN)。如果任何无效数字是列表条目,比较过程将不起作用,因为相同无效值的比较将始终导致“假”。解决问题最简单、最优雅的方法是什么?

我的想法是创建两个列表的拷贝,遍历它们并删除无效值,然后比较剩余的列表。这些列表通常包含 20-50 个值。有没有更资源友好的方法来解决它?

最佳答案

bool compare(float f1, float f2)
{
return (f1 != f1 && f2 != f2)? true: f1 == f2;
}

std::list<float> l1, l2;
bool res = std::equal(l1.begin(), l1.end(), l2.begin(), compare);

关于C++:将 double 列表与一些无效值进行比较 (QNAN),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4645951/

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