C++でのoptionalの値の取り方は?
C++でoptionalオブジェクトの値を取得するには、value()メソッドを使用して値を取得できます。このメソッドは参照を返し、optionalオブジェクトが空の場合、std::bad_optional_access例外がスローされます。また、operator*やoperator->を使用して値を取得することもできますが、これらの方法はオブジェクトが空の場合、未定義の動作を引き起こす可能性があるため、注意して使用する必要があります。以下に例を示します:
std::optional<int> opt = 42;
// 使用value()方法获取值
int value = opt.value();
std::cout << "Value: " << value << std::endl;
// 使用operator*获取值
int value2 = *opt;
std::cout << "Value: " << value2 << std::endl;
// 使用operator->获取值
int value3 = opt->value();
std::cout << "Value: " << value3 << std::endl;