内存管理和Rcpp中的S4类

时间:2017-10-20 15:28:03

标签: c++ r rcpp s4

假设我有一个S4类A,其中包含一个@S的广告位data.framedata.frame有一列X。我想使用Rcpp在C ++中处理这样的对象。这是我如何做到这一点的玩具示例:

SEXP f(S4 A)
{
  DataFrame S = A.slot("S");
  NumericVector X = S["X"];

  // do something with X
}

我的问题如下。

  • X是否仍然是对原始R数据或深层副本的引用?考虑Rcpp如何工作不应该是副本。但我怎么能确定?

  • 此代码编译并运行良好,但IDE(Rstudio而不是编译器)会发出警告:conversion from 'Rcpp::SlotProxyPolicy< Rcppp::S4_Impl<PreserveStorage >::SlotProxy' to 'DataFrame' (aka 'DataFrame_Impl< PreserveStorage >') is ambigous.这是什么意思?是认真的吗?

由于

0 个答案:

没有答案