似乎在Eigen 3.2中引入的Eigen::Ref<>
和在C ++ 11中引入的std::reference_wrapper<>
实现了非常相似的目标。
显然,Eigen::Ref<>
不会引入C ++ 11依赖关系,因为std :: reference_wrapper&lt;&gt;是的,但还应该考虑什么? (对我来说,C ++ 11依赖不是一个问题。)
以下是参考资料:(所以meta,LOL):
答案 0 :(得分:4)
它们不包括相同的用法。 std :: reference_wrapper通常用于将类型为T的对象的引用存储到容器中(而不是使用指针)。 Eigen :: Ref可以包装任何类似于T的Eigen密集对象,或者分配自己的内存来计算无法引用的表达式。它通常用作非模板函数的参数类型或统一Map,Matrix和子矩阵。