Я новичок в кодировании Rcpp и C++ в целом, поэтому простите меня за задание основных вопросов. Каст часть кодаRcpp Скопируйте векторный код в вектор
// test.cpp
#include <Rcpp.h>
using namespace Rcpp;
// [[Rcpp::export]]
void testRun() {
IntegerVector Grp1 = IntegerVector::create(1,2,3,4);
IntegerVector Grp2 = IntegerVector::create(3,4,5,6);
Rf_PrintValue(Grp1);
Grp1 = Grp2;
Rf_PrintValue(Grp1);
Grp2[3] = Grp2[3]+1;
Rf_PrintValue(Grp1);
}
и когда я бегу testrun(), я получаю выход
> Rcpp::sourceCpp('test.cpp')
> testRun()
[1] 1 2 3 4
[1] 3 4 5 6
[1] 3 4 5 7
Когда я задаю Gr2
к Gr1
в Gr1 = Gr2
, меняя элементы Gr2
после изменения назначения значения в Gr1
. Есть ли функция IntegerVectors, которая может делать что-то вроде Gr1 = copy of Gr2
, или я должен использовать цикл для этого.
Большое спасибо!
вы имели в виду 'Rcpp :: клон()', как в этом ответе http://stackoverflow.com/a/ 21282929/143305, а также другие? –