说我有:
#include <iostream>
#include "boost/optional.hpp"
struct cat
{
int paw = 4;
};
int main()
{
boost::optional<cat&> z;
{
cat realCat = cat();
z = realCat;
}
std::cout << z->paw << std::endl;
return 0;
}
在上面,没有理由期望打印出一致的结果,对吧,realCat
因为}
? 还是optional
保存生命realCat
?