我可以在Armadillo中实例化矩阵,然后将其设置为在后面的代码行中使用辅助内存吗?

时间:2011-10-24 07:28:30

标签: c++ mingw rcpp armadillo

我正在使用Armadillo和RcppArmadillo。是否可以使用arma::mat A声明一个矩阵,然后为我之前用arma::mat(aux_mem*, n_rows, n_cols, copy_aux_mem = true, strict = true)创建的矩阵分配一些内存?

目的是从Rcpp :: NumericMatrix创建一个Armadillo矩阵,但仅满足if()某个条件。然后在同一个函数中,我想使用该矩阵,但只有if()条件才能满足。

1 个答案:

答案 0 :(得分:0)

如果我理解你的要求,答案可能是。最后的布尔切换控制是否分配新内存,或者是否重新使用现有对象的内存。

不确定你的意思是“为这个矩阵分配一些内存”。如果您希望R管理内存,请参阅编写R扩展手册,了解您可以做什么和不可以做什么 - 关键点是对于我们返回R的对象,我们需要创建它们以便它们成为R的“原生”.Rcpp就是这样做的,RcppArmadillo也允许你这样做。

另外:你最好在rcpp-devel列表上询问这些问题,Armadillo的作者Conrad也会这样说。