¿Qué sucederá con la parte de refuerzo superpuesta una vez que C ++ 0x se convierta en la corriente principal?

StackOverflow https://stackoverflow.com/questions/405175

  •  03-07-2019
  •  | 
  •  

Pregunta

¿Qué sucederá con la parte de refuerzo superpuesta una vez que C ++ 0x se convierta en una empresa común?

Will boost aún contendrá todo lo que solía, o adaptarán la biblioteca para actualizarla con el nuevo std :: stuff?

¿Booster tendrá una versión normal de c ++ y una versión de c ++ 0x que mantendrán?

¿Fue útil?

Solución

Uno podría esperar que Boost continúe apoyando las clases existentes, por un par de razones.

Primero, hay un cuerpo de código que usa las funciones superpuestas en Boost que deben ser compatibles, por algún tiempo.

En segundo lugar, las implementaciones superpuestas me permiten seleccionar cuál preferiría usar. Puede haber alguna diferencia entre std :: Frob y Boost :: Frob que es importante para mi proyecto, y tener una opción es bueno.

A largo plazo, sin embargo, esperaría una migración hacia el estándar tanto de los escritores de aplicaciones como de los proveedores de herramientas. Eso hace que sea una opción menos arriesgada ir con std ::.

Otros consejos

No estoy afiliado a Boost y no tengo idea de lo que harán, pero parece que Boost se quedará intacto.

Ya se ha lanzado TR1 (paquete de características de VS 2008) y Boost se mantuvo intacto. Dado que muchos usuarios aún no han adoptado Boost o TR1, mi predicción es que, al menos durante los próximos cinco años, las bibliotecas boost y c ++ 0x existirán en diferentes espacios de nombres y estarán disponibles para usuarios de C ++ 0x así como para usuarios de C ++.

Los espacios de nombres hacen que esto sea un problema para los desarrolladores de Boost. No hay una disputa directa entre las bibliotecas boost y las bibliotecas estándar porque existen en espacios de nombres separados. Por lo tanto, los cambios en el espacio de nombres std (por ejemplo, la adición de std :: tr1) no tienen un impacto directo en Boost.

Sin embargo, tenga en cuenta que si está importando ambas bibliotecas (estándar y boost) en el espacio de nombres global, tendrá problemas.

La siguiente cita de la documentación de Boost TR1 también arroja algo de luz con respecto a la implementación de los componentes de TR1 de Boost, lo que sugiere que la biblioteca de Boost correspondiente se mantendrá en el futuro inmediato:

  

La biblioteca TR1 proporciona una   Implementación del Técnico C ++.   Informe sobre las extensiones de la biblioteca estándar.   Esta biblioteca no se implementa.   Los componentes de TR1, más bien es un delgado.   envoltura que incluirá su   Implementación TR1 de la librería estándar   (si tiene uno), de lo contrario lo hará.   incluir los equivalentes de Boost Library,   e impórtelos en el espacio de nombres std :: tr1.

¿Quieres decir tr1?

Boost ya es compatible con tr1. Todas las clases de boost que se han adoptado en std :: tr1 están disponibles en este espacio de nombres de boost. Consulte la siguiente documentación.

http://www.boost.org/doc /libs/1_37_0/doc/html/boost_tr1.html

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top