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 C ne peuvent-elles pas être réinitialisées ?

Barbara Streisand
Libérer: 2024-11-30 20:02:19
original
1026 Les gens l'ont consulté

Why Can't C   References Be Reset?

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal