将ArrayXd传递给const VectorXd&和const Ref <const VectorXd>&

时间:2019-12-22 03:33:03

标签: c++ eigen eigen3

我对这两个功能的效率理解正确吗?

VectorXd v;

void Foo(const ArrayXd&);
void Boo(const Ref<const ArrayXd>&);

// a temporary is created?
Foo(v);
// no temporary is created?
Boo(v);

此外,我还在eigen's doc中看到一些签名,例如Boo,但没有&。与上面的Boo有什么实际区别吗?

1 个答案:

答案 0 :(得分:1)

是的,您的理解是正确的。

关于Write your amount in USD: 100 111.11 111.11 111.11 111.11 的签名,请参见此answer