Нужна помощь, чтобы понять синтаксис C ++ - PullRequest
2 голосов
/ 03 ноября 2010

Я относительно новичок в C ++.Вот заявление, если я не могу понять.

if ((ObjPtr = NewObjPtr) != NULL)
{
    ...
}

Для чего проверяется "! = NULL"?

Спасибо.

Ответы [ 3 ]

11 голосов
/ 03 ноября 2010

Это присваивает NewObjPtr ObjPtr и проверяет, является ли ObjPtr ненулевым.

Это эквивалентно следующему:

ObjPtr = NewObjPtr;
if (ObjPtr != NULL) { ... }
1 голос
/ 03 ноября 2010

Каждый операнд в C (C ++) возвращает результат операции.Для оператора '=' результатом является присвоенное значение.Итак, проверка NULLness для ObjPrt и NewObjPrt.

1 голос
/ 03 ноября 2010

В C ++ выражение типа myVar = 5 вернет 5. Так что в основном этот синтаксис проверяет, не является ли NewObjPtr NULL.

Можно сказать значение присваивания передается влево .

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