因为 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/