Ho appena compilato parte del mio codice con il -std=c++0x
flag in GCC, perché voglio tenere il passo con quello che stanno facendo tutti i giovani (purché rimangano nel mio prato), e ho finito con un carico di avvertimenti su auto_ptr
deprecato. Naturalmente sapevo che auto_ptr
era deprecato in C ++ 0x, ma ...
La deprecazione non è uno spreco 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, producendo milioni di avvertimenti che invogliano solo le persone a disattivare gli avvisi.
-
auto_ptr
è un bit naff, ma in realtà fa quello che dice sullo stagno. -
se vogliamo davvero deprecare le cose, nomino
printf()
. Ma immagina solo gli strilli che ne conseguirebbero.auto_ptr
non ha troppi amici, ma almeno il mio codice C ++ è usato più diprintf
, che non viene usato affatto. -
il comitato ha una brutta esperienza nel fare questo - hanno deprecato l'static nello scope namespace, e ora sembra essersi sottostimato - non sarei sorpreso se
auto_ptr
facesse un simile ritorno -
infine, qualunque cosa il comitato dica, gli implementatori di compilatori li ignorano - semplicemente non possono rischiare di rompere il codice dei loro clienti, tutto ciò che possono fare è emettere avvisi irritanti.
Quindi la mia domanda - consideri la deprecazione (di qualsiasi cosa, non solo auto_ptrs, e non solo in C ++) una buona idea, e se sì, perché?