c++ - 将 Eigen 类型与 boost::bind 一起使用是否会自动违反 Eigen 的 "only pass by reference"规则?

标签 c++ pass-by-reference boost-bind memory-alignment eigen

因为 libeigen 做了特殊的工作来调整其所有类型的内存对齐方式,所以它有一个特殊的规则,即在将特征类型作为参数传递时,它们应该始终按引用传递。

但是我相信 boost::bind 隐式按值传递。

我的直觉是,将 boost::bind 与特征类型一起使用(而不使用 boost:ref)会违反 Eigen 的引用传递规则,从而导致问题。

谁能证实这一点?

最佳答案

boost::bind 将有效地将参数作为值传递。除非你用 boost::(c)ref 包装它们,否则它只是按值传递的包装器。

关于c++ - 将 Eigen 类型与 boost::bind 一起使用是否会自动违反 Eigen 的 "only pass by reference"规则?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10658062/

相关文章:

c++ - 用于图像处理的重载 [ ] [ ] 运算符

c++ - map 数组帮助c++/qt

Javascript:如何交换对象数组的元素(通过引用,而不是索引)?

c++ - 这是按引用传递还是按值传递?

javascript - 变量/对象是按值传递的吗?为什么我不能用 JavaScript 中的变量更改对象的属性?

C++ Boost::bind:指向绑定(bind)函数的指针只能用于调用该函数

c++ - 将 C++11 move 语义应用于绑定(bind)函数

c++ - 将数组与整数打印为十六进制

c++ - 如何在代码中正确使用指针

c++ - 帮助提升绑定(bind)/功能