1
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?

4

0 回答 0