知られているように、C++ の関数からローカル変数を返すことは、スコープのために安全ではありません。Scott Meyers は、Effective C++ Third Edition の 101 ページの項目 21 でこの問題について述べています。
inline const Rational operator*(const Rational& lhs, const Rational& rhs) {
return Rational(lhs.n * rhs.h, lhs.d * rhs.d);
}
これも悪い習慣ではなく、この関数は安全ではありませんか?
UPD:説明してくれてありがとう。