我使用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
的输出,因为我只复制了指针,而不是它指向的对象。如何复制指针指向的对象?