c中的指针我知道,保存的是变量的地址。但objective c 的对象指针显然不是这样。比如c的写法int *point;
*point=2;在objective c中就是这样NSNumber *point=[[NSNumber alloc] init];
point=2; //如果按照c指针来理解,这里就该是*point=2;虽然这个问题不影响平时编程,但始终是心里的一个疑问。objective cc
*point=2;在objective c中就是这样NSNumber *point=[[NSNumber alloc] init];
point=2; //如果按照c指针来理解,这里就该是*point=2;虽然这个问题不影响平时编程,但始终是心里的一个疑问。objective cc
OC里也可心这样:int a = 0;
int *p = &a;
*p = 3;
printf("%d", a);
这个还是跟JAVA作比较好些,JAVA里的对象叫引用,但其实引用和指针都差不多。
JAVA里的对象必须要new出来,而OC里的是alloc出来。
反正我对OC里指针的理解是这样的:
shared_ptr<TYPE>相当于TYPE*
point= [NSNumber numberXX:];//point确实是一个指针。你直接point = 2;是不对的。相当于给一个指针赋值为整型。
point=@2
NSLog(@"%@",point);
应该这样
把一个简单int型转换为了一个对象。
这样 之后你就可以对其进行一些操作, 比方说存入数组,因为oc的数组本质上是字典,NSarray 只能保存对象。