c ++函数中的变量作用域通过R使用sourceCpp调用

时间:2013-04-13 02:31:18

标签: r scope rcpp

我有一个函数嵌套在R中的另一个函数中。由于深层函数有点慢,我决定使用sourceCpp交换一些编译代码。但是,该内部函数使用外部函数中定义的变量。在R我使用环境。什么是c ++模拟?我必须使用extern关键字吗?这样的事情会起作用吗?

#include <Rcpp.h>

using namespace Rcpp;

// [[Rcpp::export]]
arma::mat myFunc(arma::mat a, arma::mat b){
  extern arma::mat c;
  return a + b + c;
}

1 个答案:

答案 0 :(得分:0)

你可以通过Rcpp很好地将R环境传递给C ++;并且示例存在于文档,此处和其他位置。然而,只是在那里随机扔一个C ++ extern就可以访问一个环境。