0
我對使用Rcpp時如何將參數傳入cppFunction感到困惑。特別是,我想知道是否有人可以解釋下面的代碼的結果。如何將參數傳入cppFunction
library(Rcpp)
cppFunction("void test(double &x, NumericVector y) {
x = 2016;
y[0] = 2016;
}")
a = 1L
b = 1L
c = 1
d = 1
test(a,b)
test(c,d)
cat(a,b,c,d) #this prints "1 1 1 2016"
謝謝!所以沒有int,double,char有默認的SEXP對象,對吧?順便說一句,通過價值和參考傳遞NumericVector有沒有區別? – Gauchy10
@ Gauchy10,正確。另外,'NumericVector'實際上是一個指針,因此,添加'&'只是視覺上的糖。 – coatless
非常感謝! – Gauchy10