看来 Eigen::Ref<>
,在 Eigen 3.2 中引入,和 std::reference_wrapper<>
在 C++11 中引入的实现非常相似的目标。
显然,Eigen::Ref<>
不会像 std::reference_wrapper<> 那样引入 C++11 依赖项,但还应该考虑什么? (对我来说,C++11 依赖不是问题。)
以下是引用资料:(如此元,大声笑):
最佳答案
它们不涵盖相同的用法。 std::reference_wrapper 通常用于将对类型 T 的对象的引用存储到容器中(而不是使用指针)。 Eigen::Ref 可以包装任何类似于 T 的 Eigen 的稠密对象,或者分配自己的内存来评估无法引用的表达式。通常用作非模板函数的参数类型或统一Map、Matrix和子矩阵。
关于c++ - Eigen::Ref<> 与 std::reference_wrapper<> 的优缺点是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19527534/