是否在Rcpp和C ++之间转换向量(使用Rcpp :: as或Rcpp :: wrap来创建新向量并复制元素?

问题描述 投票:1回答:1

据我所知,在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 ++矢量元素。

c++ r vector rcpp
1个回答
0
投票

正确,以下功能执行转换:

© www.soinside.com 2019 - 2024. All rights reserved.