该函数创建了几个对象 ?该如何解决

该函数创建了几个对象 ?
const Rational operator*(const Rational& lhs, const Rational& rhs)
{
return Rational(lhs.n * rhs.n, lhs.d * rhs.d);

}

应该是两个临时对象吧,但我怎么治跟踪出来了一个,有人会吗

------解决方案--------------------
有一个名词叫“优化”
------解决方案--------------------
up
探讨

有一个名词叫“优化”

------解决方案--------------------
探讨
up

引用:

有一个名词叫“优化”

------解决方案--------------------
同样不懂。。。。。求解释
------解决方案--------------------
临时对象的优化,返回值的优化。