https://wangdetong.github.io/2016/05/07/20160507collection-deep-shallow-copy/
http://www.cnblogs.com/ydhliphonedev/archive/2012/04/27/2473927.html
array2是对象复制,array2容器内的元素内容都是指针复制
数组会对保存的对象内存引用计数+1。
数组保存的是对象的指针对象。
如果数组copy时,保存的对象也想同时copy,可以用initWithArray:copyItems:函数。
https://blog.csdn.net/bryantsikilovia/article/details/46336957
int a = 10, *p1, *p2;
p1 = &a;
p2 = p1;
p1指的是变量a所在的地址。
*p1指的是p1指向的地址的值,即a的值。
&a指的是变量a的地址。
而oc中的指针跟C语言中的指针是一样的。
在oc中,当我们alloc、init一个对象以后,要访问对象一般直接使用对象的名字,如:
MyClass *obj = [[MyClass alloc]init];
NSLog(@"obj:%p", obj);
NSLog(@"&obj:%p", &obj);
输出为:
obj是一个指针变量,它指向obj对象的地址。&obj指的是obj这个指针变量所在的地址。