objective-c - bool 与 bool

标签 objective-c cocoa cocoa-touch

<分区>

Possible Duplicates:
Objective-C : BOOL vs bool
Is there any difference between BOOL and Boolean in Objective-C?

我从 XCode 的自动完成中注意到,在 Objective-C 中有一个 bool 和一个 BOOL。这些有区别吗?为什么有两种不同的 bool?

它们可以互换吗?

最佳答案

是的,它们是不同的。

  • C++bool , 它是一个真正的 bool 类型。在整数上下文中保证为 0 或 1。
  • C99_Bool作为真正的 bool 类型,如果 <stdbool.h>包含在内,那么bool成为 _Bool 的预处理器宏(此 header 还分别将 truefalse 定义为 10 的预处理器宏)。
  • CocoaBOOL作为一种类型,但它只是 signed char 的类型定义.它可以代表更多的值,而不仅仅是 0 或 1。
  • CarbonBoolean作为一种类型,但它只是 unsigned char 的类型定义.比如,Cocoa 的 BOOL它可以代表更多的值,而不仅仅是 0 或 1。

对于 Cocoa 和 Carbon 的“ bool ”类型,它们应该被认为是零表示假,任何非零值表示真。

关于objective-c - bool 与 bool ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3375887/

相关文章:

objective-c - OSX 中的 KeyDown 操作?

xcode - 禁用 NSTableView 中的列大小调整

objective-c - 恢复上一个 View 及其 subview

objective-c - 调用 didSelectRowAtIndexPath 时激活单元格的附属 View (UISwitch)

ios - 适用于 iPhone 和 iPad 的动态 xib 布局

ios - 我如何在 IOS 中使用 HTML.fromhtml?

iphone - 调用 MD5 函数时遇到问题(Objective-C、iPhone)

ios - GameCenter 通知横幅有时会出现 "squished"- 这可能是什么原因造成的?

objective-c - 检测 UIScrollview 滚动超过底部

objective-c - 在堆栈上存储对象