gpt4 book ai didi

c - 如何在 C 中实现复杂的算术运算符?

转载 作者:太空宇宙 更新时间:2023-11-04 01:03:02 25 4
gpt4 key购买 nike

ANSI C 标准似乎没有明确指定复杂算术运算符(+、-、*、/)的 API 的任何细节,尽管实现似乎允许使用这些原语。我想知道这怎么可能,因为 C 没有实现运算符重载的概念?我的想法是,指定 complex 类型的宏的实现很可能会使用确实允许此类操作的内置类型,但我想知道复数如何可以允许与例如单个 float 相同的值范围(因为它必须以某种方式表示为一对 float ,我认为它的范围会减半)?

我的思路是正确的,还是偏离了这个方向?

最佳答案

C 确实有运算符重载——甚至在 C89 标准之前,它就重载了像 +-*< 这样的运算符/ 用于整数和浮点运算。

C 没有用户定义运算符重载——因此只有标准中定义的固定重载集,无法扩展它们。

C99 只是将运算符的 int/float 重载扩展到复数。程序仍然无法将重载扩展到规范中指定的范围之外。

关于c - 如何在 C 中实现复杂的算术运算符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30986638/

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