全部,
如果您多次重复以下代码会怎样?
pointer * mypointer = [[object alloc]init];
您是否只是将该对象的保留计数再次增加一个?
谢谢,
马丁
答案 0 :(得分:5)
您不会增加保留计数 - 只有retain
消息会对分配的对象执行此操作。由于您要复制pointer * mypointer
类型声明,因此多次运行该确切代码实际上会出错。但是,如果你有(例如):
pointer * mypointer = [[object alloc] init];
mypointer = [[object alloc] init];
你会创建两个object
个实例,每个实例都在内存中的位置,你会丢失第一个实例(因为mypointer
现在包含对第二个实例的引用object
)。实际上,这是一次泄密。