Lavoro su un prodotto software di grandi dimensioni che, avendo più di 20 anni, ha un numero di costrutti che sono stati sostituiti dagli aggiornamenti della lingua.
Una di queste è una classe template di puntatori intelligenti home-roll che agisce in modo simile a - ma non abbastanza indentical a - std::unique_ptr
. La classe ha il suo distruttore specializzato per un numero di tipi con specifiche esigenze di distruzione, e viene referenziato dell'ordine di 150-200 volte. Apparentemente funziona perfettamente.
Se l'applicazione fosse stata scritta da zero ora, sono ragionevolmente certo che verrebbe utilizzato std::unique_ptr
. Con quale aggressività dovremmo perseguire la sostituzione della classe laminata in casa con std::unique_ptr
; possibilmente includendo typedef
s per le specializzazioni comuni con specifici distruttori?