Как перейти с std::optionalC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Как перейти с std::optional

Сообщение Anonymous »

Рассмотрим следующий пример, в котором мы анализируем данные и передаем результат следующей функции:

Код: Выделить всё

Content Parse(const std::string& data);
void Process(Content content);

int main()
{
auto data = ReadData();
Process(Parse(data));
}
Теперь давайте изменим код, используя std::optional для обработки неудачного шага синтаксического анализа:

Код: Выделить всё

optional Parse(const std::string& data);
void Process(Content content);

int main()
{
auto data = ReadData();
auto content = Parse(data);
if (content)
Process(move(*content));
}
Можно ли перейти от опционального::value()? Если это нормально для std::optional, допустимо ли это и для boost::optional?

Подробнее здесь: https://stackoverflow.com/questions/175 ... doptionalt
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»