我有 std::vector<double *> x ,其中每个元素指向C样式的双数组。双数组的值随我的程序的每一次迭代而变化。我希望将它们的副本创建到 Eigen::ArrayXd x_old 中,这样我就可以用新的值计算差异。我尝试过使用 Eigen::Map ,但是它只复制了一个数组,而且它们仍然是从内存上连接的,所以在技术上它不是一个副本。现在我尝试 memcpy 它,但我只得到第一个数组。谢谢你的帮助
std::vector<double *> x
Eigen::ArrayXd x_old
Eigen::Map
memcpy
std::vector<double *> x; x.push_back( new double[2]{1, 2} ); x.push_back( new double[2]{3, 4} ); Eigen::ArrayXd x_old(4);