Pourquoi « ceci » est un pointeur et non une référence
La notion de « ceci » en C évoque généralement la confusion, comme certains le perçoivent comme un pointeur tandis que d’autres le voient comme une référence. Le contexte historique met en lumière cette apparente contradiction.
Au départ, C ne comportait que des pointeurs. Lorsque la surcharge des opérateurs a été introduite, les références sont devenues une nécessité pour assurer la cohérence. Cependant, "this" était déjà établi comme pointeur dans les versions antérieures.
Si "this" était une référence, y accéder nécessiterait l'opérateur "&", ce qui donnerait "&this". En revanche, la syntaxe des auto-affectations utilisant des pointeurs, « *this », semble plus succincte. Ainsi, la compatibilité ascendante du fait que « ceci » soit un pointeur l'emporte sur les avantages potentiels d'en faire une référence.
Bien que les références offrent des avantages en termes de sécurité et de sécurité, la convention établie selon laquelle « ceci » est un pointeur reste inchangé en raison de l'accent mis par la communauté C sur la compatibilité ascendante.
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!