Je viens de compiler une partie de mon propre code avec le -std=c++0xdrapeau dans GCC, car je veux suivre vaguement ce que font tous les jeunes (à condition qu'ils restent de ma pelouse), et je me suis retrouvé avec une charge d'avertissements d' auto_ptrêtre obsolète. Bien sûr, je savais que auto_ptrc'était obsolète en C ++ 0x, mais ...
La dépréciation n'est-elle pas une perte de temps et d'efforts? Raisons de ne pas déprécier (avec auto_ptr comme exemple):
il y a un océan de code qui doit encore être pris en charge, produire des millions d'avertissements ne fera que tenter les gens de désactiver les avertissements.
auto_ptrest un peu désagréable, mais il fait vraiment ce qu'il dit sur l'étain.si nous voulons vraiment déprécier les choses, je propose
printf(). Mais imaginez les cris qui en résulteraient.auto_ptrn'a pas trop d'amis, mais dans au moins mon code C ++, il est utilisé plus queprintf, ce qui n'est pas du tout utilisé.le comité a un mauvais dossier pour obtenir ce droit - ils ont déprécié l'électricité statique au niveau de l'espace de noms, et maintenant il semble que ce soit déprécié - je ne serais pas surpris s'il
auto_ptrfaisait un retour similaireenfin, quoi qu'en dise le comité, les implémenteurs du compilateur les ignorent - ils ne peuvent tout simplement pas risquer de casser le code de leurs clients, tout ce qu'ils peuvent faire, c'est émettre des avertissements irritants.
Donc, ma question - considérez-vous la dépréciation (de quoi que ce soit, pas seulement auto_ptrs, et pas seulement en C ++) une bonne idée, et si oui, pourquoi?
unique_ptret soyez plus heureux.
auto_ptrcomme exemple.