【发布时间】:2013-02-20 23:04:33
【问题描述】:
我知道你们中有 99% 的人认为“这是什么鬼……”但是请帮助我理解使用 pointers 的概念。我相信我的具体问题会帮助很多新手。
我了解指针是什么,它们是对内存中地址的引用,并且通过使用 (*) 运算符,您可以获得该地址中的值。
假设:
int counter = 10;
int *somePointer = &counter;
现在我在内存中有counter的地址,我可以通过这样做间接指向它的值:
int x = *somePointer;
x = 10,对吧?
但这是最基本的示例,对于这种情况,我可以使用 int x = counter; 并获取该值,所以请解释为什么指针在 Objective-C 和其他一些语言中真的如此重要......在什么case 只有指针才有意义吗?
欣赏它。
【问题讨论】:
-
指针不是对地址的引用。您可能会说指针是对内存的引用,或者它是对变量的引用,但它是一个地址。 (从技术上讲,指针是一个变量,它的值是一个地址。英文是模棱两可的。)
-
不能简单地静态分配对象。
-
@CodaFi 你搞定了。
-
@NickCave - 当然,在任何形式意义上,指针早在“对象”之前就已经存在了。但是指针对于最终产生对象的术语来说是必要的,有点像零的发明如何彻底改变数学。 (尽管发明指针并没有花那么长时间。它们在第一天就没有了,但到了大约第三天。)
标签: objective-c c cocoa pointers