Rcpp 通过引用传递。即它传递指向 R 对象的指针,而不是它们的值。因此,您可以在 C++ 中以与任何指针相同的方式操作它们。
例子
library(Rcpp)
cppFunction('
void f1(DataFrame x) {
IntegerVector V1 = x["V1"];
V1 = V1 * 2;
}
')
x = data.frame(V1 = 1:5, V2 = 1:5)
f1(x)
x
# V1 V2
# 1 2 1
# 2 4 2
# 3 6 3
# 4 8 4
# 5 10 5
Run Code Online (Sandbox Code Playgroud)