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

问题描述 投票:0回答:1

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

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有什么实际区别吗?

c++ eigen eigen3
1个回答
1
投票

是,您的理解是正确的。

关于Boo的签名,请参见此answer

© www.soinside.com 2019 - 2024. All rights reserved.