Метод value
Метод value класса std::optional возвращает
значение, которое хранится внутри объекта. Если объект
не содержит значения (то есть находится в пустом состоянии),
метод выбрасывает исключение std::bad_optional_access.
Метод не принимает параметров.
Синтаксис
opt.value()
Пример
Давайте создадим объект optional, который содержит
число 42, и получим это значение с помощью метода
value:
#include <iostream>
#include <optional>
using namespace std;
int main()
{
optional<int> opt = 42;
cout << opt.value() << endl;
return 0;
}
Результат выполнения кода:
42
Пример
Давайте создадим пустой объект optional и попробуем
получить из него значение. Это приведет к исключению:
#include <iostream>
#include <optional>
using namespace std;
int main()
{
optional<int> opt;
try
{
cout << opt.value() << endl;
}
catch (const bad_optional_access& e)
{
cout << "Exception: " << e.what() << endl;
}
return 0;
}
Результат выполнения кода:
"Exception: bad optional access"
Пример
Давайте создадим объект optional со строкой
"abcde" и получим её через метод value:
#include <iostream>
#include <optional>
#include <string>
using namespace std;
int main()
{
optional<string> opt = "abcde";
cout << opt.value() << endl;
return 0;
}
Результат выполнения кода:
"abcde"