Информация об изменениях

Сообщение Re[5]: Сырые указатели в С++1х от 05.04.2023 15:53

Изменено 05.04.2023 15:57 rg45

Re[5]: Сырые указатели в С++1х
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>Какой смысл заострять на этом внимание? В контексте обсуждения нет никакой разницы — то ли программа ill-formed, то ли она well-formed, но "просто глючит".


Разница принципиальная: в одном случае в корректной программе возникает нулевой указатель, который можно корректно обработать, а в другом — программа уже породила неопределенное поведение и всякие проверки уже бессмысленны. Можно лишь обсуждать причины возникновения "битой" сслыки, но эта проблема уже точно за пределами контеста обсуждения.

ЕМ>Раз вообще возникает вопрос о замене указателя ссылкой — значит, ситуация, в которой указатель нулевой, но нигде нет ошибки, принципиально невозможна.


ИМХО, ничего это не значит. Человек, задающий этот вопрос, мог просто выпустить данный нюанс из виду.
Re[5]: Сырые указатели в С++1х
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>Какой смысл заострять на этом внимание? В контексте обсуждения нет никакой разницы — то ли программа ill-formed, то ли она well-formed, но "просто глючит".


Разница принципиальная: в одном случае в корректной программе возникает нулевой указатель, который можно корректно обработать. В Win API, напирер, полно фунций, для которых передача нулевых укакзателей и дескрипторов разрешена спецификациями функций. А в другом случае программа уже породила неопределенное поведение и всякие дальнейшие проверки уже бессмысленны. Можно лишь обсуждать причины возникновения "битой" сслыки, но эта проблема уже точно за пределами контеста обсуждения.

ЕМ>Раз вообще возникает вопрос о замене указателя ссылкой — значит, ситуация, в которой указатель нулевой, но нигде нет ошибки, принципиально невозможна.


ИМХО, ничего это не значит. Человек, задающий этот вопрос, мог просто выпустить данный нюанс из виду.