Rcpp:如何确保数字矩阵的深度复制?
假设我有一个Rcpp::NumericMatrix a。我想将a的相同副本(不是指针副本)复制到另一个Rcpp::NumericMatrix B。这是正确的方法吗Rcpp:如何确保数字矩阵的深度复制?,r,rcpp,R,Rcpp,假设我有一个Rcpp::NumericMatrix a。我想将a的相同副本(不是指针副本)复制到另一个Rcpp::NumericMatrix B。这是正确的方法吗 Rcpp::NumericMatrix B(Rcpp::clone(A)); 此外,上述行与以下行之间的区别是什么: Rcpp::NumericMatrix B(A); 本质上,是的——使用Rcpp::clone()来确保深度复制。当您从同一类型的SEXP(或Rcpp对象)构造一个Rcpp对象时,您会得到两个使用相同底层内存的对象
Rcpp::NumericMatrix B(Rcpp::clone(A));
此外,上述行与以下行之间的区别是什么:
Rcpp::NumericMatrix B(A);
本质上,是的——使用
Rcpp::clone()
来确保深度复制。当您从同一类型的SEXP
(或Rcpp
对象)构造一个Rcpp对象时,您会得到两个使用相同底层内存的对象。谢谢。这很有帮助。