Для целей алгоритма, который я пишу, мне нужно написать какой -то код в RCPP, который включает манипулирование матрицей 2D -символов. Поскольку код итерат практически по каждому элементу матрицы, использование RCPP HarmentMatrix напрямую или преобразование в вектор струн не оказывается достаточно быстрой для моих целей.
Код: Выделить всё
char **aln = new char*[num];
for (int i = 0; i < num; i++) {
aln[i] = new char[n_cols];
for (int j = 0; j < n_cols; j++) {
aln[i][j] = (matrix(i, j))[0];
}
}
... (algorithm)
// Clean up the aln array
for (int i = 0; i < n_isolates; i++) {
delete[] aln[i];
}
delete[] aln;
< /code>
matrix
Вот объект ParmateMatrix RCPP, предоставляемый в качестве входной функции для функции C ++. Мой вопрос: есть более быстрый и более чистый способ сделать это преобразование от характерной массы в 2D массив символов с использованием rcpp?
Подробнее здесь:
https://stackoverflow.com/questions/796 ... rs-in-rcpp