【发布时间】:2014-12-21 05:10:22
【问题描述】:
我发现C99添加了_Complex来支持复数运算。但是,我想知道为什么 C99 会为这种与字段相关的功能添加新的关键字(仅对科学计算有用)。通过标准库支持复杂类型不是更好吗?
【问题讨论】:
-
您不能通过库支持像
+这样的运算符,C 语法不允许这样做。 -
当基本原理文档中有客观可验证的答案时,我看不出这是如何“基于意见”的。
-
标准委员会决定将其视为
_Bool类型(因此如果包含标题,则可以将其用作complex类型),因为以这种方式使用更自然。请注意,C11(当前标准)的要求较低,特别是可能会定义__STDC_NO_COMPLEX__,因此_Complex类型实际上是可选的。