Вы не будете увеличивать счетчик сохранности - только сообщение retain
делает это на выделенном объекте.Выполнение этого точного кода более одного раза фактически приведет к ошибке, поскольку вы дублируете объявление типа pointer * mypointer
.Однако, если бы вы имели (например):
pointer * mypointer = [[object alloc] init];
mypointer = [[object alloc] init];
Вы бы сделали два экземпляра object
, каждый на своей позиции в памяти, и вы потеряли бы свой дескриптор на первом (поскольку mypointer
теперь содержит ссылку на второй экземпляр object
).По сути, это утечка.