gpt4 book ai didi

C++ float 到 bool 转换

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:04:41 31 4
gpt4 key购买 nike

我正在查看一些第 3 方代码,但不确定其中一行到底在做什么。我无法发布确切的代码,但大致如下:

bool function(float x)
{
float f = doCalculation(x);
return x > 0 ? f : std::numeric_limits<float>::infinity();
}

这显然会引发编译器关于转换 float->bool 的警告,但实际行为是什么? Visual C++ 如何将 float 转换为 bool 值?至少我应该能够取代那个讨厌的无穷大......

最佳答案

我认为这是一个错误。该函数应返回一个 float 。这对我来说似乎合乎逻辑。

从 float 到 bool 的转换与 float != 0 相同。但是,由于精度的原因,严格比较两个 float 并不总是如您预期的那样。

关于C++ float 到 bool 转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1969620/

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