РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
445 of 815 menu

Функция make_optional

Функция make_optional создает и возвращает объект std::optional, содержащий переданное значение. В первый параметр мы передаем значение, которое нужно поместить внутрь optional. Функция удобна тем, что позволяет создать optional без явного указания типа шаблона - тип выводится автоматически из переданного аргумента.

Синтаксис

std::make_optional(value)

Пример

Давайте создадим объект optional с числом 42 и проверим, что значение присутствует:

#include <iostream> #include <optional> using namespace std; int main() { auto res = make_optional(42); cout << res.has_value() << endl; cout << res.value() << endl; return 0; }

Результат выполнения кода:

1 42

Пример

Давайте создадим объект optional со строкой "abcde" и выведем ее на экран:

#include <iostream> #include <optional> #include <string> using namespace std; int main() { auto res = make_optional("abcde"s); cout << res.value() << endl; return 0; }

Результат выполнения кода:

"abcde"

Пример

Давайте создадим optional с символом 'a' и проверим его наличие:

#include <iostream> #include <optional> using namespace std; int main() { auto res = make_optional('a'); if (res.has_value()) { cout << res.value() << endl; } return 0; }

Результат выполнения кода:

"a"

Смотрите также

  • класс optional,
    который может хранить значение или не хранить его
  • метод value,
    который возвращает хранимое значение
  • метод value_or,
    который возвращает значение или значение по умолчанию
  • метод has_value,
    который проверяет наличие значения
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить