Метод has_value
Метод has_value класса optional проверяет,
содержит ли объект optional какое-либо значение.
Он возвращает true, если объект хранит значение,
и false, если объект пуст. Метод не принимает
параметров и не изменяет состояние объекта.
Синтаксис
opt.has_value()
Пример
Давайте создадим объект optional со значением
и проверим его с помощью метода has_value:
#include <iostream>
#include <optional>
using namespace std;
int main()
{
optional<int> opt = 123;
if (opt.has_value()) {
cout << "Has value" << endl;
} else {
cout << "No value" << endl;
}
return 0;
}
Результат выполнения кода:
"Has value"
Пример
Давайте создадим пустой объект optional
и проверим его с помощью метода has_value:
#include <iostream>
#include <optional>
using namespace std;
int main()
{
optional<int> opt;
if (opt.has_value()) {
cout << "Has value" << endl;
} else {
cout << "No value" << endl;
}
return 0;
}
Результат выполнения кода:
"No value"
Пример
Давайте создадим объект optional со строкой
и проверим его с помощью метода has_value:
#include <iostream>
#include <optional>
#include <string>
using namespace std;
int main()
{
optional<string> opt = "abcde";
if (opt.has_value()) {
cout << opt.value() << endl;
} else {
cout << "No value" << endl;
}
return 0;
}
Результат выполнения кода:
"abcde"