Ho appena compilato un po 'del mio codice con la -std=c++0x
bandiera in GCC, poiché voglio tenere il passo vagamente con quello che fanno tutti i giovani (purché rimangano del mio prato), e ho finito con un carico di avvertimenti A proposito di auto_ptr
essere deprecato. Certo, sapevo che auto_ptr
era deprecato in C ++ 0x, ma ...
La deprecazione non è una perdita di tempo e fatica? Motivi per non deprecare (con auto_ptr come esempio):
c'è un oceano di codice là fuori che deve ancora essere supportato, la produzione di milioni di avvisi tenterà solo le persone a disattivare gli avvisi.
auto_ptr
è un po 'stupido, ma in realtà fa quello che dice sulla scatola.se vogliamo davvero deprecare le cose, lo nominerò
printf()
. Ma immagina solo gli strilli che ne conseguirebbero.auto_ptr
non ha troppi amici, ma almeno nel mio codice C ++ è usato più diprintf
, che non è affatto usato.il comitato ha una brutta reputazione di ottenere ciò giusto - hanno deprecato la staticità nell'ambito dello spazio dei nomi, e ora sembra essere stato non dichiarato - non sarei sorpreso se
auto_ptr
un ritorno simileinfine, qualunque cosa il comitato dica, gli implementatori del compilatore li ignorano: semplicemente non possono rischiare di violare il codice dei loro clienti, tutto ciò che possono fare è emettere avvisi irritanti.
Quindi la mia domanda: consideri la deprecazione (di qualcosa, non solo auto_ptrs, e non solo in C ++) una buona idea, e se sì, perché?
unique_ptr
e sii più felice.
auto_ptr
come esempio.