Objective c &self——我能得到对象的地址吗
我创建了同一类的两个对象。 在方法中执行此操作时:Objective c &self——我能得到对象的地址吗,objective-c,Objective C,我创建了同一类的两个对象。 在方法中执行此操作时: NSLog(@"This object is on address %p\n",&self);` 对于同一类的两个不同对象,我得到相同的地址 当我在课外做这件事时: NSLog(@"This object is on address %p\n",&myObject); and NSLog(@"This object is on address %p\n",&anotherObject); 我确实有两个不同的地址。 我
NSLog(@"This object is on address %p\n",&self);`
对于同一类的两个不同对象,我得到相同的地址
当我在课外做这件事时:
NSLog(@"This object is on address %p\n",&myObject);
and
NSLog(@"This object is on address %p\n",&anotherObject);
我确实有两个不同的地址。
我是否遗漏了自我工作的一些方面?它不应该是指向对象的指针吗
不同角度:
如何从对象类的方法中获取对象的地址
谢谢您的时间。我相信%p不需要您传递变量的地址。这是一个无效的操作。我不是在我的开发机器上亲自测试这一点,而是尝试做:
NSLog(@"This object is on address %p\n", self);
我相信%p不需要您传递变量的地址。这是一个无效的操作。我不是在我的开发机器上亲自测试这一点,而是尝试做:
NSLog(@"This object is on address %p\n", self);
在目标C中,对类的引用已经是指针。通过获取self或myObject的地址,您可以获得存储在堆栈上的变量的地址 所以只需打印:
NSLog(@"This object is on address %p\n", self);
或
将打印类的地址。在目标C中,对类的引用已经是指针。通过获取self或myObject的地址,您可以获得存储在堆栈上的变量的地址 所以只需打印:
NSLog(@"This object is on address %p\n", self);
或
将打印类的地址。不,您必须传递地址,因为varargs在C中如何工作。这不是魔术。不,您必须传递地址,因为varargs在C中如何工作。这不是魔术。这是一个无关的结果,因为它是当前堆栈帧中self的地址,不是调用函数中self的地址。这是一个不相关的结果,因为它是当前堆栈帧中self的地址,而不是调用函数中self的地址。