2

我在 R 中有一个嵌套在另一个函数中的函数。由于更深的函数有点慢,我决定使用 sourceCpp 来交换一些已编译的代码。但是,该内部函数使用外部函数中定义的变量。在 RI 使用环境中。什么是 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;
}
4

1 回答 1

0

您可以通过 Rcpp 将 R 环境向下传递给 C++;并且示例存在于文档、此处和其他地方。然而,只是随机地在那里扔一个 C++ extern,确实可以访问一个环境。

于 2013-04-13T03:13:04.467 回答