NumericMatrix res = wrap(mat);// mat is an existing arma::Mat<double>
当矩阵变大时,这非常昂贵,一旦转换为 Rcpp::NumericMatrix,我就不再需要“mat”对象了。
我已经想出了如何从 arma::Mat 窃取内存,通过
double * ptr = mat.memptr();
access::rw(mat.mem) = 0;
但问题是如何让 R/Rcpp 接管 'ptr' 以便直接从现有内存构造 NumericMatrix?