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