Return 在 c++ 中通过 const 引用接收函数复制值是否值得?

Return by const reference in c++ where the receiver function copy the value is it worth it?

我有这种情况,如果通过 const 参考剂量继电器返回保存一些东西,我会徘徊,这个函数可能会被调用数百次。

我有:
General Container that returns int as const reference

struct Val
{
 public:
    Val(int& v)
    {
        iVal = v;
    }

    const int& toInt()
    {
        return iVal;
    }

private:
    int iVal;
};

获取号码的函数:

Val Mo::doSomthing()
{
  Val v(444444);
  return v;
}

调用 doSomthing().toInt():

int x = 0;
class Foo {
...
....
Mo mo;
void Foo::setInt(float scaleX)
{

   x = mo.doSomthing().toInt();
   //x is class member which other functions are using it 

}
...
...
..
}

在这种情况下,是否有任何理由使用 const 引用来保存一些位?

一般来说,对于标量类型,按值 return 它们更便宜。引用(和指针)的大小(字长)与通常的标量类型几乎相同。如果你 return 一个 int& 你 return 〜相同数量的数据,但是当你访问引用的数据时 运行 平台必须解析引用(访问引用的内存)。

但是前面的评论是对的:先量一下。这是一种微优化。