gpt4 book ai didi

language-agnostic - ¬(a = b) 和 (a ≠ b) 可以不同的语言

转载 作者:行者123 更新时间:2023-12-04 05:50:12 27 4
gpt4 key购买 nike

在 C++ 中,可以重载 ==!=用户类型的操作符,但语言并不关心你是怎么做的。您可以重载两者以返回 true不管怎样,所以!(a==b)(a!=b)不一定要评估同一件事。有多少其他语言有这样的情况¬(a = b)(a ≠ b)可以不同吗?这是普遍现象吗?

这不仅是重载的问题,而且是奇怪的极端情况,即使对于原始类型也是如此。 C 和 C++ 中的 NaN 不等于任何东西,包括 NaN。 NaN != NaN 在 C 中确实如此,但也许其他语言中也有类似的情况导致 ¬(a = b)(a ≠ b)与众不同?

最佳答案

Guy L. Steele著名的说

...the ability to define your own operator functions means that a simple statement such as x=a+b; in an inner loop might involve the sending of e-mail to Afghanistan.



正如 corsiKa 所说,仅仅因为你能做到,并不能使它成为一个好主意。

关于language-agnostic - ¬(a = b) 和 (a ≠ b) 可以不同的语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10156686/

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