Maison >développement back-end >C++ >Pourquoi les références C ne sont-elles pas réinitialisables ?

Pourquoi les références C ne sont-elles pas réinitialisables ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-05 07:18:12527parcourir

Why Are C   References Unresettable?

Références non réinitialisables en C : Comprendre la justification

En C, les références possèdent des propriétés uniques : une connexion immuable à un seul objet et un non -existence nullable. Cette nature contrastée des pointeurs, qui peuvent être réaffectés et annulés, a incité à s'interroger sur l'absence de constructions de « référence ou pointeur non nullables et réinstallables » en C.

L'explication de ce choix de conception réside dans l'ouvrage de Bjarne Stroustrup. "Conception et évolution du C." Les expériences de Stroustrup avec les références Algol68, où les affectations pouvaient modifier les cibles des références ou les relier entièrement, ont façonné sa décision. Pour éviter ces pièges potentiels, les références C ont été conçues avec un lien indéfectible avec leurs objets initiaux.

Cette conception garantit la prévisibilité en éliminant la possibilité d'une nouvelle liaison de référence accidentelle ou délibérée. Il garantit que les références pointent systématiquement vers un objet valide, évitant ainsi les références pendantes ou les risques de manipulation du pointeur. Bien que cela limite la flexibilité dans la mise en œuvre de la politique de confidentialité, la flexibilité est limitée.

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!

Déclaration:
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