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;
bannerAds