使用Rcpp模块公开类时,复制R中的基础c ++对象

时间:2015-11-19 11:51:44

标签: c++ rcpp

我使用Rcpp模块向C公开了一个c ++类。一旦暴露给R,我就可以调用暴露的成员函数等。但是,当我尝试复制底层的c ++对象时,我正在努力。有一个简单的方法吗?

假设我已经使用Rcpp模块公开了一个名为“Foo”的c ++类。在c ++中,代码看起来如下:

class Foo{
   public:
   double a;
   Foo(double _a):a(_a){}
}

在R中,我通过以下方式实例化该类的实例:

cl <- new("class", 2)

变量cl包含指向c ++对象的指针。因此,当我做的时候

dl <- cl
dl$a <- 3

它也会改变cl$a的输出,因为我只复制了指针,而不是它指向的对象。如何复制指针指向的对象?

0 个答案:

没有答案