我想用 C/C++ 编写自己的数据类型。 我生成了一个这样的小类:
#include <Rcpp.h>
using namespace Rcpp;
class Test
{
public:
int rows;
int cols;
float a[10];
Test() {};
};
RCPP_EXPOSED_CLASS( Test )
RCPP_MODULE(mod){
class_<Test>("Test")
.constructor()
.field("rows", & Test::rows )
.field("rows", & Test::cols )
// .field("a", & Test :: a)
;
}
代码正在运行。但现在我想从 a.我是否理解正确的文档,我必须创建一个“as”函数?并返回一个 NumericVector ?
我不明白 SEXP 类型,它是一个“无类型”的指针,可以在 C/c++ 和 R 中使用吗?
最佳答案
这是很多有点基础的问题。
也许你不应该从模块和类开始?怎么样
- 您可以重写包含
std::vector<double> a
的类. - 您编写一个简单的“init()”函数,将类分配给文件局部变量(通常是指针)。
- 您编写了一些 setter 和 getter 函数,请参阅 Rcpp 属性。
一旦一些事情更清楚,再做一些基础知识,请重新访问 Rcpp 模块小插图。
关于c++ - C/C++ 数组指针对象的 Rcpp 返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22575405/