Estoy usando MS VC 2008 y para algunos proyectos compilador Intel C++ 11.0. ¿Vale la pena usar las características tr1 en producción? ¿Permanecerán en un nuevo estándar?¿Vale la pena usar std :: tr1 en producción?
Por ejemplo, ahora uso stdext::hash_map
. TR1 define std::tr1::unordered_map
. Pero en la implementación de MS unordered_map
es solo suyo stdext::hash_map
, con plantilla de otra manera.
No tengo claro qué quiere decir con la implementación elegida por el Estándar. El estándar prescribe el comportamiento O(), no las implementaciones.¿Hay un conjunto diferente de comportamiento O() que desee en contenedores asociativos? –
'O()' no siempre es significativo. Por ejemplo, en términos de reafilado. Todos los hashmaps tienen una inserción constante amortiguada, pero si no tiene un rehashing dinámico, algunas inserciones serán muy lentas (como cuando activa un realloc en un 'std :: vector :: push_back'). 'O (1)' da un margen de acción aquí y si necesita realizar inserciones frecuentes en un proceso de tiempo crítico, no es suficiente. –