Программисты больше не нужны!
Нужны ИИ инженеры! Хотите научиться? Вступайте в канал!
453 of 824 menu
◀ ▶

Метод reset

Метод reset класса optional сбрасывает хранимое значение. После вызова этого метода объект optional становится пустым, то есть не содержит никакого значения. Если до вызова метод хранил какое-то значение, то оно уничтожается. Метод не принимает параметров и не возвращает результата.

Синтаксис

opt.reset()

Пример

Давайте создадим объект optional со значением 123 и проверим наличие значения до и после вызова метода reset:

#include <iostream> #include <optional> using namespace std; int main() { optional<int> opt = 123; if (opt.has_value()) { cout << "Has value: " << opt.value() << endl; } else { cout << "No value" << endl; } opt.reset(); if (opt.has_value()) { cout << "Has value: " << opt.value() << endl; } else { cout << "No value" << endl; } return 0; }

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

"Has value: 123" "No value"

Пример

Давайте создадим пустой объект optional и вызовем метод reset. Это не приведет к ошибке, так как метод безопасно работает с пустыми объектами:

#include <iostream> #include <optional> using namespace std; int main() { optional<string> opt; cout << "Before reset: " << (opt.has_value() ? "has value" : "no value") << endl; opt.reset(); cout << "After reset: " << (opt.has_value() ? "has value" : "no value") << endl; return 0; }

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

"Before reset: no value" "After reset: no value"

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

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