gpt4 book ai didi

java - 声明一个 Java 类 strictfp 是否意味着它在其他类中调用的方法也是 strictfp?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:13:55 29 4
gpt4 key购买 nike

真的如标题...如果类 X 被声明为 strictfp 并调用类 Y 中的方法,是否会强制执行严格性,或者这是否仅适用于 X 自己的代码?

此外,如果我在 strictfp 类方法中计算一个值并将其传递给非 strictfp 方法,如果不对其进行进一步计算,该值是否仍然“安全”?

最佳答案

据我了解,strictfp 仅限于标有此关键字的范围。这意味着它使标记类或方法的计算变得可移植。

它无法将效果传播到引用代码。例如,如果 foo()strictfp 但它从其他不是 strictfp 的类调用 bar()bar() 中的计算将不可移植,但 foo() 中的计算可以。因此,如果 bar() 的结果用在 foo() 中,则整体结果可能不可移植。

public strictfp double foo() {
return bar() * 3.1415926;
}
public double bar() {
return 2.718281828 * 2.0;
}

此结果 2.718281828 * 2.0 不可移植,但它与 3.1415926 的乘积是可移植的。

关于java - 声明一个 Java 类 strictfp 是否意味着它在其他类中调用的方法也是 strictfp?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17052644/

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