指针中未使用的位(iPhone)

时间:2012-09-08 19:00:25

标签: iphone pointers box2d

Box2d对象有一个 void* m_userData 用户可以存储数据的字段。通常,您存储指向另一个对象的指针,例如指向精灵的指针,该精灵应在每个系统滴答时使用位置信息进行更新。

我想存储指向另一个对象的指针,但如果我还可以存储一些额外的信息,我会很高兴。我可以在指针的最重要位置执行此操作吗?可以设置对象指针的最重要位吗?我的意思是内部内存只有512 MB(我猜)。

也许应用程序会被拒绝?这不是完全未来的证据,而且它有点像黑客......

1 个答案:

答案 0 :(得分:0)

指向“另一个对象”的指针可以是您喜欢的任何内容,因此执行此操作的典型方法是使结构/类保存您要存储在用户数据中的任何内容,例如:

struct myUserData {

    Object* anObject;
    AnotherObject* anotherObject;
    bool oneExtraBit;//okay, 8 extra bits :)

}

然后,您可以将其中一个设置为用户数据...

myUserData* mud = new myUserData;
mud->anObject = ...;
mud->oneExtraBit = ...;
myBody->SetUserData( mud );