【发布时间】:2019-10-27 01:56:32
【问题描述】:
据我了解,在 Rcpp 和 C++ 之间转换向量会创建如下新向量。我的理解对吗?
在将 Rcpp 向量转换为 C++ 向量时,我们使用 Rcpp::as<T>()(例如,Rcpp::as<std::string> 用于 Rcpp::CharacterVector)。
std::vector<std::string> 被创建,原始 Rcpp 元素被复制到 C++ 向量中作为std::string。
这意味着修改新创建的 C++ 向量元素不会影响原始 Rcpp 向量元素。
将 C++ 向量转换为 Rcpp 向量时,我们使用Rcpp::wrap()。
创建相应类型的 Rcpp 向量,并将 C++ 元素作为 Rcpp 对象复制到 Rcpp 向量中。这意味着修改新创建的 Rcpp 向量元素不会影响原始 C++ 向量元素。
【问题讨论】:
-
“视情况而定”。在 R 端的类型上,在 C++ 端的类型上。
-
“视情况而定”......好吧......我想我需要以更具体的方式提问。谢谢。