Допустимо ли присваивать NULL логический тип данных? - PullRequest
4 голосов
/ 16 марта 2009

Допустимо ли присваивать NULL логический тип данных?

Ответы [ 12 ]

0 голосов
/ 16 марта 2009

Пока false равно 0 и NULL по-прежнему равно 0 да, но это может измениться в будущем. Я бы сказал, что это плохая практика, потому что вы смешиваете понятия и теряете ясность.

0 голосов
/ 16 марта 2009

Нет, вы должны использовать технический термин - «Файл не найден»

редактировать:

Ссылка: http://thedailywtf.com/Articles/What_Is_Truth_0x3f_.aspx

Правильный ответ - нет.

Я думаю, вы пытаетесь использовать NULL для обозначения «Неинициализировано» или «Не знаю, пока». Обычно это работает в базе данных, но не всегда работает в коде, поскольку определение NULL варьируется от препроцессора к препроцессору и от языка к языку.

Булевы значения по определению являются двумя состояниями. Пытаться использовать их в качестве значений трех состояний - ошибка. В лучшем случае это грязный хак, который в будущем вызовет замешательство у других разработчиков, в худшем - это критическая ошибка, которая укусит вас за спину, как только что-нибудь из вашей цепочки сборки изменится.

...