io sono confuso circa i vantaggi di usare i leVantaggi di usare boost :: :: MPL bool_ invece di un bool const
bool_<true>
e
bool_<false>
tipi contro semplicemente usando Caccio const in il contesto del modello metaprogrammazione.
La libreria boost :: mpl chiaramente preferisce il primo approccio e definisce le funzioni di supporto come e_, o_ per aiutare a gestire tale bool_. Metafunzioni condizionali come if_ "prendono" un bool_ come argomento primo (modello), ma dietro le quinte "chiamano" una metafunzione if_c che si aspetta un (const) bool come argomento primo (modello).
Quali sono gli argomenti alla base di questa decisione?
Grazie in anticipo per il vostro aiuto!
Grazie, questo è un buon esempio! – stepelu
Oh sì, ho dimenticato di sovraccaricare! – sbi
Questa è una buona risposta, ma è molto più verbosa del necessario. Puoi scrivere 'do_something (boost :: is_pointer())', che farà la stessa cosa più o meno allo stesso modo. –