boost::optional<SomeClass> SomeMethod() {...}
现在假设我有这样的东西
boost::optional<SomeClass> val = SomeMethod();
现在我的问题是如何从val中提取SomeClass?
所以我可以这样做:
SomeClass sc = val ?
SomeClass sc = *val;
或者,您可以使用get()方法:
SomeClass sc = val.get();
这两个都返回对底层SomeClass对象的左值引用.