Objective c 指向整数的指针

Objective c 指向整数的指针,objective-c,cocoa-touch,ios4,Objective C,Cocoa Touch,Ios4,我能否将指针转换为整数并可靠地比较值以测试对象相等性?您将测试指针是否引用同一对象。或者换句话说,指针是相等的 但是您可以在不将指针强制转换为整数的情况下执行此操作。为什么不直接比较指针呢?此代码: NSString *foo = @"Hello,"; NSString *bar = @"World!"; if (foo == bar) { // Do something. } 正在测试指针是否相等,无需转换。我正在考虑将UINT存储在NSSet中,以实现更快的成员资格测试(我不知道

我能否将指针转换为整数并可靠地比较值以测试对象相等性?

您将测试指针是否引用同一对象。或者换句话说,指针是相等的


但是您可以在不将指针强制转换为整数的情况下执行此操作。

为什么不直接比较指针呢?此代码:

NSString *foo = @"Hello,";
NSString *bar = @"World!";

if (foo == bar) {
    // Do something.
}

正在测试指针是否相等,无需转换。

我正在考虑将UINT存储在NSSet中,以实现更快的成员资格测试(我不知道它们是否真的更快)。您不能在NSSet中存储基元类型(int、char等),但即使可以,这对我来说似乎是过早的优化。一般来说,您对NSSet的速度有问题吗?哦,对不起,我的意思是NSIndexSets。从技术上讲,您可以通过创建CFSetRef并指定要使用的适当CFAllocator来在NSSet中存储内置类型。