Cette question a été inspiré par cette réponse.
J'ai toujours été de la philosophie que le destinataire de l'appel n'est jamais responsable lorsque l'appelant n'a quelque chose de stupide, comme le passage de paramètres non valides. Je suis arrivé à cette conclusion pour plusieurs raisons, mais peut-être le plus important provient de cet article:
Tout n'est pas défini n'est pas défini.
Si une fonction n'est pas dit dans les docs que c'est valable pour la transmission de nullptr
, alors vous sacrément bien mieux de ne pas passer nullptr
de cette fonction. Je ne pense pas qu'il est de la responsabilité du destinataire de l'appel pour faire face à de tels choses.
Cependant, je sais qu'il va y avoir certains qui sont en désaccord avec moi. Je suis curieux de savoir si oui ou non je devrais vérifier pour ces choses, et pourquoi.