从R中访问C 对象数据成员
Accessing c++ object data members from R
是否是一个愚蠢的问题,因为我不是C 或RCPP专家,但是是否可以从R访问R?我下面的尝试失败:
test.cpp
#include <Rcpp.h>
using namespace Rcpp;
class myclass {
private:
int k;
public:
myclass(int &n) : k(n){}
int getk() const {return k;}
};
typedef myclass* pmyclass;
// [[Rcpp::export]]
XPtr<pmyclass> new_myclass(NumericVector n_) {
int n = as<int>(n_);
myclass x(n);
return(XPtr<pmyclass>(new pmyclass(&x)));
}
// [[Rcpp::export]]
NumericVector getk(SEXP xpsexp){
XPtr<pmyclass> xp(xpsexp);
pmyclass x = *xp;
return wrap(x -> getk());
}
test.r
library(Rcpp)
sourceCpp('./cpp_attempt/live_in_cpp/minimal_fail/test.cpp')
ptr <- new_myclass(10)
getk(ptr)
#19274768
我将使用
#include <Rcpp.h>
using namespace Rcpp;
class myclass {
private:
int k;
public:
myclass(int n) : k(n){}
int getk() const {return k;}
};
// [[Rcpp::export]]
SEXP new_myclass(int n) {
XPtr<myclass> ptr(new myclass(n), true);
return ptr;
}
// [[Rcpp::export]]
int getk(SEXP xpsexp){
XPtr<myclass> xp(xpsexp);
return xp->getk();
}
相关文章:
- int数据类型的指针指向的是什么,如果是一个类的私有数据成员,我们创建了该类的两个对象?
- 使用指针访问数组中的对象数据成员
- 访问数据成员(本身是对象)的数据成员,就好像它们是类成员一样
- 有没有办法在C++中循环访问对象的不同数据成员
- "Class1"类"Class2"对象作为私有数据成员。如何通过"Class 2"函数引用"Class1"对象?
- 如何使用数据成员填充派生类的对象到基类的指针数组中
- 如何在C++中使用类对象访问指针数据成员
- 如何高效更改向量中所有对象的成员数据?
- C++中的常量对象或私有/常量数据成员(变量)?
- 指向未由对象地址初始化的对象的指针如何将值分配给类的数据成员
- 通过向量中的对象的数据成员迭代
- 继承的类对象如何使用私有数据成员
- 我如何在参考上使用数据成员而不使用新关键字创建对象
- 从R中访问C 对象数据成员
- 静态数据成员是否在所有类对象之前初始化?
- 通过指向对象数据成员的指针更改该对象的值
- C .更改对象数据成员的数据成员
- 排序类对象数据成员从大到小
- 如何设置对象数据成员与这个c++与这个
- 按对象数据成员属性搜索对象的向量