Подтвердить что ты не робот

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

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

4b9b3361

Ответ 1

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

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

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

Ответ 3

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

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