Matlab API читает файл .mat из c ++, используя контейнер STL

Я должен прочитать некоторые файлы данных .mat из c ++, я прочитал документацию, но мне хотелось бы знать, как обрабатывать данные чистым и элегантным способом, например, использование std: vector (скромный размер файла .mat (10M ~ 1G), но к памяти следует относиться серьезно)

Моя функция как:

#include <stdio.h>
#include "mat.h"
#include <vector>

int matread(const char *file, const vector<double>& pdata_v) {

MATFile *pmat;

pmat=matOpen("data.mat","r");
if (pmat == NULL) {
    printf("Error opening file %s\n", file);
    return(1);
}
mxArray *pdata = matGetVariable(pmat, "LocalDouble");

// pdata -> pdata_v

mxDestroy pa1;  // clean up
return 0;
}

Итак, вопрос в том, как мне сделать копию массива mxArray * pdata в вектор pdata_v эффективно и безопасно?

Ответы на вопрос(3)

Ваш ответ на вопрос