Il y a une poignée de situations que la norme C++ attributs comme un comportement indéfini. Par exemple, si j'alloue avec new[]
, alors essayez de les gratuit avec delete
(pas delete[]
) c'est un comportement indéfini - tout peut arriver - cela pourrait fonctionner, il pourrait faire planter méchamment, il peut corrompre quelque chose dans le silence et la plante un temps de problème.
Il est si difficile d'expliquer ce que tout peut se passer de la partie pour les débutants. Ils commencent à "prouver" que "ça fonctionne" (parce qu'il travaille vraiment sur le C++ de mise en œuvre qu'ils utilisent), et de se demander ce que pourrait être le problème avec ce"? Quelle explication concise ce que je pourrais donner qui pourraient motiver à ne pas écrire un tel code?