3

C标准现在说:

取消定义和重新定义宏 bool、true 和 false 的功能已过时,可能会在未来版本中删除。

也就是说,stdbool.h已弃用。但是没有给出任何理由,我也找不到。他们打算永远添加 bool 作为基本类型还是有其他东西?

如果您碰巧知道为什么不推荐使用它,谢谢您告诉我!

4

2 回答 2

6

你的问题有几个误解:

  • 第一个是您链接到 POSIX 参考,该参考通常遵循 C 标准,但并非必须如此。

  • 您引用的部分提供信息而不是事实,因此可能根本不反映 C 标准。因此,它也不具有权威性。

  • 引用还说,用户取消定义或重新定义宏的能力是可以取消的。头文件中的宏<stdbool.h>不会受此影响。

  • 最后,它还说这种可能性可能会被取消,而不是它将会或已经被取消。

于 2018-07-13T10:29:26.853 回答
6

为什么不推荐使用 stdbool.h?

它不是。

您引用了以下注释:

取消定义和重新定义宏 bool、true 和 false 的功能已过时,可能会在未来版本中删除。

这意味着将来可能会删除以下段落:

应用程序可以取消定义,然后可能重新定义宏 bool、true 和 false。

这并不意味着标题或其内容将被删除。

于 2018-07-13T10:29:36.293 回答