2009-09-02 6 views
48

Non riesco a scegliere tra Boost.Any e Boost.Variant.
Quando dovrei usare ciascuno di essi?Boost.Any vs. Boost.Variant

Quali sono i vantaggi e gli svantaggi di ciascuno?

Sto cercando di archiviare alcuni stati da fonti esterne.

+7

Se si conosce tutti i possibili tipi che i dati possono avere al momento della compilazione, quindi utilizzare Boost. Variante: il numero di tipi che i tuoi dati possono avere è finito e i tipi sono verificati durante la compilazione. Se questi tipi possono essere qualsiasi cosa, quindi utilizzare Boost.Any. – user1284631

risposta

40

Hai già consultato lo comparison nella libreria delle varianti?

(non so cosa afferma da fonti esterne sono, quindi è un po 'difficile dire che cosa c'è di più appropriato per voi.)

+0

In realtà non l'ho mai visto prima. Ma qual è la domanda giusta per chiedere di aiutarmi a scegliere? –

+1

Dovresti rispondere tu stesso - quale delle funzioni è fondamentale per te? –

+0

Semplicità d'uso, assenza di mal di mantenimento, il minimo possibile. Posso stimare quali saranno i miei tipi, ma se dovessi aggiungerne un altro domani? –