我正在使用 Armadillo 和 RcppArmadillo。是否可以使用 arma::mat A
声明一个矩阵,然后为我之前使用 arma::mat(aux_mem*, n_rows, n_cols, copy_aux_mem = true, strict = true)
?
目的是从 Rcpp::NumericMatrix 创建 Armadillo 矩阵,但只有 if()
满足特定条件。然后在同一个函数中,我想使用该矩阵,但同样只有 if()
满足条件。
最佳答案
只要我明白你在问什么,答案可能是是。最后的 bool 值切换控制是分配新内存,还是重新使用现有对象的内存。
不确定“为该矩阵分配一些内存”是什么意思。请参阅 Writing R Extensions 手册,了解如果您希望 R 管理内存,您可以做什么和不能做什么——关键点是对于我们返回到 R 的对象,我们需要创建它们,以便它们成为 R 的“原生”。Rcpp 可以做到这一点,而 RcppArmadillo 也可以让您做到这一点。
此外:您最好在 Armadillo 的作者康拉德也阅读的 rcpp-devel 列表上问这些问题。
关于c++ - 我可以在 Armadillo 中实例化矩阵,然后在后面的代码行中将其设置为使用辅助内存吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7872461/