小编use*_*623的帖子

在C++中返回局部变量(Effective C++,3rd edition中的Rule 21)

众所周知,由于作用域,从C++中的函数返回局部变量是不安全的.在Effective C++第三版中,Scott Meyers在第21页的第21项中讲述了这个问题.然而,最后他说,正确的决定将是:

inline const Rational operator*(const Rational& lhs, const Rational& rhs) {
    return Rational(lhs.n * rhs.h, lhs.d * rhs.d);
}
Run Code Online (Sandbox Code Playgroud)

这不是一个坏习惯,这个功能不安全吗?

UPD:谢谢大家的解释.

c++ return local effective-c++

0
推荐指数
2
解决办法
298
查看次数

标签 统计

c++ ×1

effective-c++ ×1

local ×1

return ×1