gpt4 book ai didi

c++ - double 的重载比较以允许数值错误

转载 作者:太空狗 更新时间:2023-10-29 20:27:06 24 4
gpt4 key购买 nike

在我的 C++ 项目中,由于数值错误,我经常遇到不准确的结果。是否有可能以某种方式重新定义标准比较运算符( ==<=>=<> ),以便它们不完全比较但在可接受的误差范围内(例如 1e-12 ) ?

(如果是,这样做是个好主意吗?)

(当然可以编写比较函数,但人们会凭直觉使用运算符。)

最佳答案

要重载运算符,某些参数必须是用户定义的类型。内置的是固定不变的。

但即使可以,也不是什么好事。帮自己一个忙,将您的自定义比较“运算符”作为一组函数提供,选择一个暗示它们使用的策略的名称。您不能指望代码阅读器在没有适当指示的情况下知道相等意味着严格或具有 DBL_EPSILON 或 2*DBL_EPSILON 或一些任意线性或缩放容差。

关于c++ - double 的重载比较以允许数值错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17263482/

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