有没有比点对点复制值更优雅的解决方案?!
这样的东西适用于一维矢量...
vector<float> vec(mat.data(), mat.data() + mat.rows() * mat.cols());
我尝试了GCC编译器为vector&lt;矢量&gt;但没有成功......
答案 0 :(得分:1)
Eigen::MatrixXf
使用高效的线性内存,而vector
的{{1}}代表一种非常不同的数据类型。
对于多维数据向量,您必须逐块读取矩阵并将这些值复制到最外面的向量。
另一种方法是将值复制到具有特定访问器的基于vector
的类......但最终会重建类似Matrix的类。
你为什么要这样做?您尝试提供什么样的访问权限?也许你应该尝试使用vector
接口
eigen::matrix