gpt4 book ai didi

c - 为什么 Objective-C Boolean 数据类型定义为 signed char?

转载 作者:太空狗 更新时间:2023-10-30 04:02:55 25 4
gpt4 key购买 nike

引起我兴趣的是 Objective-C 的 BOOL 类型定义。

为什么它被定义为 signed char(如果分配给它的长度大于 1 字节的值可能会导致意外行为)而不是 int ,就像 C 所做的那样(错误余量更小:零值是假的,非零值是真的)?

我能想到的唯一原因是 Objective-C 设计者对存储进行了微优化,因为 char 使用的内存比 int 少。请问谁能赐教吗?

最佳答案

请记住,Objective-C 是在 1980 年代创建的,当时节省字节确实很重要。

如评论中所述,只要您坚持使用 YES 和 NO 值,一切都会好起来的。

关于c - 为什么 Objective-C Boolean 数据类型定义为 signed char?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2581597/

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