Eigen::Ref<> 与 std::reference_wrapper<> 的优缺点是什么?

What are the pros/cons of Eigen::Ref<> vs. std::reference_wrapper<>?

本文关键字:gt lt 优缺点 是什么 wrapper Ref Eigen std reference      更新时间:2023-10-16

看起来,在Eigen 3.2中引入的Eigen::Ref<>和在C++11中引入的std::reference_wrapper<>实现了非常相似的目标。

显然,Eigen::Ref<>不会像 std::reference_wrapper<> 那样引入 C++11 依赖关系,但还应该考虑什么? (对我来说,C++11 依赖关系不是问题。

以下是参考资料:(所以元,哈哈):

  • 特征::参考<>
  • 标准::reference_wrapper<>

它们不涵盖相同的用法。 std::reference_wrapper 通常用于将对 T 类型的对象的引用存储到容器中(而不是使用指针)。Eigen::Ref 可以包装任何类似于 T 的特征密集对象,或者分配自己的内存来计算无法引用的表达式。它通常用作非模板函数的参数类型或统一 Map、矩阵和子矩阵。