Я долгое время программист на C ++, с большим количеством времени на C #.Однако сейчас я работаю в Objective C, и мне интересно, есть ли обратная сторона для отправки сообщения нулевому объекту в Objective C?
Например, я очень привык к этому:
MyClass* c = NULL;
// ...
if( c != NULL ) c->MyMethod();
Итак, в Задаче C я обнаружил, что делаю:
MyClass* c = nil;
// ...
if( c != nil ) [c MyMethod];
Так что же я?Мне интересно, есть ли какая-либо польза от проверки на ноль?Является ли Objective C достаточно умным, чтобы не делать лишней странной обработки, если я пытаюсь отправить сообщение на ноль?Или есть какая-то скрытая стоимость, которая делает целесообразным продолжение проверки на ноль?