gpt4 book ai didi

objective-c - 将不为零的指针转换为 BOOL 返回 NO

转载 作者:太空宇宙 更新时间:2023-11-04 00:27:02 29 4
gpt4 key购买 nike

我最近遇到了一个很少重现的错误。如果我出于某种原因将一个不是 nil 的指针转换到 BOOL,我会得到 NO!!!11 我知道 BOOL 是 signed char 的 typedef。这会是个问题吗?

最佳答案

如果指针的形式为 0xNNNNNN00 或(在 64 位上)0xNNNNNNNNNNNNNNNN00,其中 N 是任何十六进制数字,则强制转换为 BOOL(unsigned char)将使您得到 0,因为它会截断所有非零位。

要将指针正确转换为 BOOL,请使用不等运算符:

BOOL isNotNull = (myPointer != NULL);

关于objective-c - 将不为零的指针转换为 BOOL 返回 NO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5910975/

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