В C или C ++ следует ли мне проверять параметры указателя на NULL / nullptr?

Этот вопрос был вдохновлен этим ответом .

Я всегда придерживался философии, что вызываемый абонент никогда не несет ответственности, когда вызывающий делает что-то глупое, например, передача недействительного параметры. Я пришел к такому выводу по нескольким причинам, но, пожалуй, самая важная из них исходит из этой статьи :

Все, что не определено, не определено.

Если функция не говорит в своей документации, что Это' s допустимы для передачи nullptr , тогда вам, черт возьми, лучше не передавать nullptr этой функции. Я не думаю, что вызываемый должен заниматься такими вещами.

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

37
задан Community 12 April 2017 в 07:31
поделиться