Я думаю, что это бесполезно как проверка безопасности.Однако, как документация, это немного стоит*
Теперь, если ptr
было нулевым, то первый код был недействительным, и это была их ошибка в передаче нулевого значения в функцию, параметр которой "никогда не должен быть НЕДЕЙСТВИТЕЛЕН".Второй код также недействителен, и он виноват в том, что разыменовал нулевой указатель.
Это полезно в качестве документации, в том случае, если при вводе символа *
они подумают: «О, подождите,это лучше не быть нулевым ".Принимая во внимание, что если все, что вы сделали, - это документ, в котором null является недопустимым вводом (как, скажем, strlen
делает), то им пришлось бы читать документацию, чтобы знать, как не передавать нулевой указатель.Теоретически, пользователь вашего кода будет проверять документы вместо того, чтобы просто толкать клавиатуру лицом, пока у него не будет что-то, что компилируется, и предполагается, что это сработает.На практике у всех нас есть свои менее разумные моменты.