Please consider the procedure in the following snippet. First dynamically create data, and then create Eigen matrix using the data. In this case, the matrix will release the memory of data
when it's lifetime is over?
I guess in the Eigen::Map
operation, pointer is copied and actual elements of data
is not coppied. Thus, hopefully, matrix release the memory of data
.
#include<Eigen/Core>
using namespace Eigen;
int main(){
double* data = new double [6];
double* itr = data;
for(int i=0; i<6; i++){
*(itr++) = i;
}
auto m = Map<MatrixXd>(data, 2, 3);
}
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…