boost:: дополнительная альтернатива в стандартной библиотеке C++

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

3 ответов


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

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

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


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


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

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