boost:: alternativa opcional en la biblioteca estándar de C++
c++11 std (3)
Estoy tratando de hacer que mi programa funcione sin boost
uso, pero no puedo encontrar una alternativa de algunos patrones útiles. Es decir, no puedo encontrar el patrón boost::optional
-likewise en la biblioteca estándar. ¿Hay alguna alternativa estándar para boost::optional
(C ++ 11 o en otro lugar)?
Actualmente hay una propuesta para C ++ 14 (o C ++ 17). Así que la respuesta es (probablemente) todavía no :).
Como explicó pmr , no es posible en este momento, y no lo será hasta que C ++ 17 salga.
Sin embargo, deberías poder usar esta biblioteca de encabezado único en github como un reemplazo en lugar de boost- o std opcional. No tiene dependencias (excepto un compilador capaz de c ++ 11 / c ++ 14).
Respuesta corta: No.
Respuesta larga: rueda tu propio según la especificación de impulso. La documentación es bastante exhaustiva y el código no es tan complejo, pero aún requiere habilidades de C ++ por encima del promedio.
Para actualizar esta respuesta: C ++ 14 desafortunadamente no se std::optional
con std::optional
. La propuesta actual (Revisión 5) es N3793 y se espera que se N3793 como una especificación técnica independiente o que forme parte de C ++ 17.