boost :: необязательная альтернатива в C ++ Standard Library - PullRequest
19 голосов
/ 15 января 2012

Я пытаюсь заставить мою программу работать без boost использования, но не могу найти альтернативу некоторым полезным шаблонам. А именно, я не могу найти шаблон boost::optional аналогично в стандартной библиотеке. Есть ли какая-нибудь стандартная альтернатива для boost::optional (C ++ 11 или где-то еще)?

Ответы [ 3 ]

25 голосов
/ 15 января 2012

Краткий ответ: Нет.

Длинный ответ: бросьте свой собственный согласно спецификации повышения. Документация довольно исчерпывающая, и код не такой сложный, но для этого все еще требуются навыки C ++ выше среднего.

Чтобы обновить этот ответ: C ++ 14, к сожалению, не поставляется с std::optional. Текущее предложение (редакция 5): N3793 , и ожидается, что оно будет отправлено в виде отдельной технической спецификации или станет частью C ++ 17.

12 голосов
/ 09 ноября 2012

В настоящее время имеется предложение для C ++ 14 (или C ++ 17). Таким образом, ответ (вероятно) еще не:).

1 голос
/ 30 июля 2015

Как pmr объяснил , сейчас это невозможно, и не будет, пока не выйдет C ++ 17.

Однако вы должны быть в состоянии использовать это библиотека с одним заголовком на github, в качестве замены необязательного boost- или std.У него нет зависимостей (кроме компилятора с поддержкой c ++ 11 / c ++ 14).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...