Очень хороший ответ о том, как создать матрицу Armadillo вокруг существующей памяти, приведен здесь: armadillo C ++: инициализация матрицы из массива .
Однако у меня есть ситуация, в которой я хотел бы создать матрицу Armadillo из константного массива без предварительного копирования данных. Первая часть проста:
- mat (const aux_mem *, n_rows, n_cols)
Создание матрицы путем копирования данных из вспомогательной памяти только для чтения.
Однако при этом сначала копируется память, что в моем случае было бы ненужным.
Я хотел бы иметь что-то вроде этого:
const double* ptr = start; // I cannot modify the source of this pointer
const amra::mat M(ptr, 4, 4, /*copy*/ false, /*strict*/ true);
Однако это точного конструктора не существует. Есть ли альтернативный метод, который мне не хватает?