Maison >développement back-end >C++ >Pourquoi les références C ne peuvent-elles pas être réinitialisées ?
Pourquoi les références en C ne sont pas réinitialisables
Les références C, contrairement aux pointeurs, adhèrent à deux caractéristiques fondamentales : elles doivent toujours référencer le même objet et ne peut pas être nul. Alors que les pointeurs offrent une flexibilité pour pointer vers différents objets et peuvent être définis sur null, il manque au C le concept de « références ou pointeurs non nullables et réinstallables ». Cela soulève la question de savoir pourquoi les références ne peuvent pas être réinitialisées.
Felix Nievelstein a initialement soulevé cette question, en mettant l'accent sur l'utilisation de références pour garantir que les associations entre objets restent valides. Cependant, selon Bjarne Stroustrup, le concepteur de C , la principale raison de l'immuabilité des références est d'éviter les ambiguïtés et les erreurs potentielles.
Selon les mots de Stroustrup, "J'avais dans le passé été mordu par les références Algol68 où r1 = r2 peut soit attribuer via r1 à l'objet référencé, soit attribuer une nouvelle valeur de référence à r1 (reliaison r1) selon le type de r2. Je voulais éviter de tels problèmes en C."
En interdisant la reliure de référence, C vise à éliminer l'incertitude et le risque de modifier par inadvertance l'objet de destination de la référence. Cette décision de conception garantit que les références pointent systématiquement vers le même objet, évitant ainsi des conséquences inattendues et maintenant l'exactitude du programme.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!