init boost :: opcional de objeto no copiable
¿Qué debo hacer para inicializar?boost::optional< T >
si tipo subyacenteT
¿es no construible por defecto, no se puede copiar / mover, pero la instancia de uno todavía puede existir?
Esta prohibido porboost::optional
Por cualquier razón semántica para tener alguna función miembro comotemplate< typename... Args > boost::optional< T >::construct(Args && ...args)
, que entrega todos los argumentos al lugaroperator new
para construir el objeto en su totalidad (para el tipo no-refT
)? Variante es tener función no miembro comostd::make_shared< T >
.
Me parece que mi problema se puede resolver mediante el uso destd::unique_ptr
/std::shared_ptr
, pero en este caso mi pregunta es: "por québoost::optional
¿Se congela el progreso? ".