РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
444 of 815 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 для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить