将特征类型与 boost::bind 一起使用是否会自动违反 Eigen 的"only pass by reference"规则?
Does using Eigen types with boost::bind automatically violate Eigen's "only pass by reference" rule?
因为 libeigen 做了特殊的工作来调整其所有类型的内存对齐方式,所以它有一个特殊的规则,即在将特征类型作为参数传递时,它们应该始终是按引用传递的。
但是我相信 boost::bind 隐式地按值传递。
我的直觉是,使用 boost::bind 与特征类型(并且不使用 boost:ref(会违反 Eigen 的按引用传递规则,从而导致问题。
谁能证实这一点?
boost::bind
将有效地将参数作为值传递。除非你用boost::(c)ref
包装它们,否则它只是通过值传递的包装器。
相关文章:
- Eigen如何在容器循环中干净地附加矩阵
- 当在带有Eigen的C++中使用GDB时,我如何才能看到更多的大矩阵
- 使用Pybind11向Python公开Eigen::张量
- 如何在没有数据拷贝的情况下从指针创建一个Eigen VectorXd对象
- Eigen:调用lpNorm()的正确方法
- 如何调整 std::vector of Eigen::MatrixXd 的大小
- 如何将 Eigen::Ref 与 pybind11 一起使用?
- Eigen c++ 三角形来自
- 这对"With a stackless coroutine, only the top-level routine may be suspended."意味着什么
- 使用 operator() 扩展 Eigen::EigenBase
- 如何将 Eigen 库安装到 IAR c/c++ 编译器
- 初始化 std::数组 of Eigen::Map
- Eigen - matrix.transpose 会创建矩阵的副本吗?
- 如何修复输出日志中的"EnableInput can only be specified on a Pawn for its Controller"错误
- 将 MatrixXd 的行传递给要修改的函数,而不在 Eigen 中创建副本
- C++ Eigen 库中的 argmax() 方法
- Eigen::VectorXd 和 Boost::Odeint,不起作用
- 将数据从 std::Vector 存储到 Eigen::Vector 时出错
- Eigen LinSpaced - 已弃用的副本警告
- 将特征类型与 boost::bind 一起使用是否会自动违反 Eigen 的"only pass by reference"规则?