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

标签 c++ c++11 eigen eigen3

看来 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/

相关文章:

c++ - 我可以在 Visual Studio 中开发跨平台应用程序吗? (C++)

c++ - vector::emplace_back结果两次调用析构函数

regex - 为什么这个正则表达式不匹配?

c++ - 为什么矩阵加法比 Eigen 中的矩阵向​​量乘法慢?

c++ - Eigen::MatrixXd 类型定义的替换

c++ http/2 解析升级

c++ - 从 C++ 调用静态 C++/CLI 方法

等待条件下的C++线程死锁

c++ - Push_back({ "George", 1 }) 和 Push_back(Student ("Jack", 10)); 有什么区别

c++ - Eigen 稀疏矩阵的零拷贝构造