Здравствуйте, Erop, Вы писали:
E>Здравствуйте, Mr.Delphist, Вы писали:
MD>>Если p — обычный указатель, то оба if пролетят мимо, а если p — "умный", то в первый if мы таки заскочим. Получается, что написание !! превращает код в легко мигрирующий (или безопасную заготовку для шаблона).
E>Не понятно, чем же != 0 плох в этом контексте.
Ничем не плох. Имею такую версию (например). '!!' располагается целиком слева и оттого (дичайше) напоминает операторную запись — в математическом смысле (Fx или F(x)). То есть это (вощемто) оператор "естественного вложения" какого-то объемлющего множества — "кольца" — в {0, 1}.