据我所知,在Rcpp和C ++之间转换向量会如下创建新向量。我的理解正确吗?
[将Rcpp向量转换为C ++向量时,我们使用Rcpp::as<T>()
(例如Rcpp::as<std::string>
表示Rcpp::CharacterVector
)。创建std::vector<std::string>
,并将原始Rcpp元素作为std::string
复制到C ++向量中。这意味着修改新创建的C ++矢量元素不会影响原始的Rcpp矢量元素。
[将C ++向量转换为Rcpp向量时,我们使用Rcpp::wrap()
。创建具有相应类型的Rcpp向量,并将C ++元素作为Rcpp对象复制到Rcpp向量中。这意味着修改新创建的Rcpp矢量元素不会影响原始的C ++矢量元素。
正确,以下功能执行转换: