2009-09-02 4 views
48

Tengo problemas para elegir entre Boost.Any y Boost.Variant.
¿Cuándo debo usar cada uno?Boost.Any vs. Boost.Variant

¿Cuáles son las ventajas y desventajas de cada uno?

Básicamente estoy buscando almacenar algunos estados de fuentes externas.

+7

Si conoces a todos los tipos posibles de que los datos pueden tener en tiempo de compilación, a continuación, utilizar Boost. Variante: el número de tipos que sus datos pueden tener es finito y los tipos se verifican en la compilación. Si esos tipos pueden ser cualquier cosa, entonces use Boost.Any. – user1284631

Respuesta

40

¿Ya ha mirado el comparison en la biblioteca de variantes?

(No está seguro de lo que establece a partir de fuentes externas son, por lo que es un poco difícil de decir lo que es más apropiado para usted.)

+0

En realidad, no he visto eso antes. Pero, ¿cuál es la pregunta correcta para ayudarme a elegir? –

+1

Tendría que responder usted mismo, ¿cuál de las características es crítica para usted? –

+0

Facilidad de uso, sin dolores de cabeza de mantenimiento, la menor sobrecarga posible. Puedo estimar cuáles serán mis tipos, pero ¿qué sucede si necesito agregar otro más mañana? –

Cuestiones relacionadas