最近我在一个项目中看到他们将 int 类型定义为 BOOL 并使用它代替 bool。这样做有什么好处吗?
typedef int BOOL;
最佳答案
如果他们经常与 C 代码交互,他们可能会这样做。因为 C 没有 bool
类型 - 至少直到 C11(我认为是,或者可能是 C99)引入了 _Bool
类型 - 老实说我不记得了如果与 C++ bool
兼容 - 他们应该刚刚采用 bool
关键字(恕我直言),但我离题了。
此外,在 C++98 标准之前的旧 C++ 代码库中也很常见,其中 C++ 获得了 bool
。
所以 legacy 和 C 兼容性 就是答案。
关于c++ - 为什么有人会使用 int 而不是 bool 数据类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56263708/