小编pol*_*ver的帖子

boost ::从函数返回可选

我正在审查一些生产代码,其中一个函数说它将返回一个boost::optional,但它只返回一个double:例如

boost::optional<double> Foo(){
   double a = 1.0;
   double b = 2.0;
   return a + b;
}
Run Code Online (Sandbox Code Playgroud)

这种可接受的风格/是否有任何不安全的情况?

c++ boost implicit-conversion boost-optional

5
推荐指数
1
解决办法
747
查看次数

返回传递对象的引用

我知道我们不能通过引用返回一个局部变量,因为它会超出范围.虽然我在返回传递的引用时有点困惑.例如,以下示例是合法的还是会导致未定义的行为?

classobject &function(classobject &obj) {
 return obj;
}
Run Code Online (Sandbox Code Playgroud)

c++ scope pass-by-reference object-lifetime

2
推荐指数
1
解决办法
93
查看次数