Разве объективные указатели c не равны нулю до тех пор, пока вы не выделите память? - PullRequest
0 голосов
/ 08 октября 2011

Я думал, что когда я объявляю объект, указатель все еще равен нулю, пока я не выделю память и не инициализирую ее.Вместо этого я запускаю этот код, и я был удивлен, увидев, что он выдает «ИСТИНА»:

NSString * aString; 
        if (aString) {
            NSLog(@"TRUE");
        }

спасибо

Ответы [ 2 ]

3 голосов
/ 08 октября 2011

Он указывает на неопределенное местоположение - он может указывать на любую область памяти (даже ту, к которой у вас нет доступа.

Вы должны NIL объявить это.

2 голосов
/ 08 октября 2011

Когда вы выделяете ОБЪЕКТ, хранилище обнуляется, но когда у вас есть автоматическая переменная, это все, что является мусором.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...