Mais est-il vraiment à jeter pour autant ? N'est-ce pas là tout simplement le prix à payer pour avoir à la fois puissance et abstraction ?
Oui, non. C'est mon avis, et devnewton s'intéresse à l'avis des gens... ☺
Les pointeurs purs non plus n'ont pas d'information de propriétés, non ?
Quand on passe une référence, inutile de préciser (dans la documentation, p.ex.) qu'on reste propriétaire de l'objet. C'est ce que je veux dire. Les pointeurs eux, ne disent rien sur la propriété mais je parle des références.
On peut parfaitement delete l'adresse d'une référence crée depuis un objet allouée sur le tas si ça nous amuse. Puisqu'au fond c'est un pointeur pur déguisé.
On peut faire delete sur un pointeur et pas sur une référence: c'est une fonctionnalité du pointeur qui n'est pas autorisée par une référence. Et si on prend un pointeur sur l'objet référencé par une référence, et bien on travaille avec un pointeur et plus avec une référence.
D'ailleurs, j'ai même le droit de delete un objet alloué sur la pile.
Ça, certainement pas, ça sent l'UB à plein nez. À moins que je n'aie pas compris ce à quoi tu fais allusion.
[^] # Re: Retourne à la raison!
Posté par Michaël (site web personnel) . En réponse au journal Retour aux sources. Évalué à 3.
Oui, non. C'est mon avis, et devnewton s'intéresse à l'avis des gens... ☺
Quand on passe une référence, inutile de préciser (dans la documentation, p.ex.) qu'on reste propriétaire de l'objet. C'est ce que je veux dire. Les pointeurs eux, ne disent rien sur la propriété mais je parle des références.
On peut faire
deletesur un pointeur et pas sur une référence: c'est une fonctionnalité du pointeur qui n'est pas autorisée par une référence. Et si on prend un pointeur sur l'objet référencé par une référence, et bien on travaille avec un pointeur et plus avec une référence.Ça, certainement pas, ça sent l'UB à plein nez. À moins que je n'aie pas compris ce à quoi tu fais allusion.