Rcpp返回C / C ++数组指针对象

时间:2014-03-22 08:46:31

标签: c++ c r rcpp

我想在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中使用吗?

1 个答案:

答案 0 :(得分:1)

这有很多基本问题。

也许你不应该从一个模块和类开始? <怎么样

  • 您可以重写包含std::vector<double> a
  • 的课程
  • 你写了一个简单的&#39; init()&#39;将类分配给文件局部变量(通常是指针)的函数。
  • 您可以编写一些小的setter和getter函数,请参阅Rcpp Attributes。

一旦更清楚了解基础知识,请重新访问Rcpp模块的插图。