Utilizzo MS VC 2008 e per alcuni progetti compilatore Intel C++ 11.0. Vale la pena utilizzare le funzionalità di tr1 in produzione? Rimarranno in un nuovo standard?Vale la pena usare std :: tr1 in produzione?
Ad esempio, ora utilizzo stdext::hash_map
. TR1 definisce std::tr1::unordered_map
. Ma nell'implementazione degli Stati Uniti unordered_map
è solo il loro stdext::hash_map
, templatizzato in un altro modo.
Non sono chiaro su cosa intendi per implementazione implementata dallo Standard. Lo standard prescrive il comportamento O(), non le implementazioni.Esiste un diverso insieme di comportamenti O() nei contenitori associativi? –
'O()' non è sempre significativo. Ad esempio, in termini di rehashing. Tutte le hashmap hanno l'inserimento costante ammortizzato, ma se non si ha il rehashing dinamico, alcuni inserimenti saranno molto lenti (come quando si attiva un realloc su un 'std :: vector :: push_back'). 'O (1)' offre un certo margine di manovra qui e se è necessario eseguire inserimenti frequenti in un processo critico, non è sufficiente. –