Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
Из этого следует, что if (! prt) более чистая проверка в... 06.03.05 07:10 Число просмотров: 2472
Автор: void <Grebnev Valery> Статус: Elderman
|
> Отсутствие сравнения в условии эквивалентно сравнению с > литеральным нулём (не с NULL). Логическое отрицание > гарантированно делает не-нулевые указатели нулём
Из этого следует, что if (! prt) более чистая проверка в сравнении с if (ptr == NULL). Особенно если учесть, что по существу NULL это макро, которое по определению может изменяться (да и будет наверное в будущем).
> P.S. Несмотря на то, что NULL, по стандарту - целое число, > производители компиляторов всё же стараются, чтобы длина > NULL равнялась длине указателя.
Не думаю, поскольку используемый, например, Microsоft #define NULL 0 ничего не говорит о длине.
Это не 0L. Это не понятно что. Литера? Кстати, в последнее время MS вообще как-то наплевательски относится к макро, typedef и к тому, что программер ожидает от этого макро по привычке. Так, Вы будете смеяться, но WORD - это вовсе не 16-битное безнаковое целое в интерпретации MS (VC++7.0 .NET2002).
|
|
|