我正在使用Armadillo和RcppArmadillo。是否可以使用arma::mat A
声明一个矩阵,然后为我之前用arma::mat(aux_mem*, n_rows, n_cols, copy_aux_mem = true, strict = true)
创建的矩阵分配一些内存?
目的是从Rcpp :: NumericMatrix创建一个Armadillo矩阵,但仅满足if()
某个条件。然后在同一个函数中,我想使用该矩阵,但只有if()
条件才能满足。
答案 0 :(得分:0)
如果我理解你的要求,答案可能是是。最后的布尔切换控制是否分配新内存,或者是否重新使用现有对象的内存。
不确定你的意思是“为这个矩阵分配一些内存”。如果您希望R管理内存,请参阅编写R扩展手册,了解您可以做什么和不可以做什么 - 关键点是对于我们返回R的对象,我们需要创建它们以便它们成为R的“原生”.Rcpp就是这样做的,RcppArmadillo也允许你这样做。
另外:你最好在rcpp-devel列表上询问这些问题,Armadillo的作者Conrad也会这样说。