Возможно ли вернуть массив ячеек, содержащий один экземпляр в нескольких ячейках?
Я пишу некоторую функцию mex и должен возвращать огромный массив строк.
Я делаю это следующим образом:
mxArray * array = mxCreateCellMatrix(ARRAY_LEN, 1);
for (size_t k = 0; k < ARRAY_LEN; ++ k) {
mxArray *str = mxCreateString("Hello");
mxSetCell(array, k, str);
}
prhs[0] = array;
Однако, поскольку строка всегда имеет одно и то же значение, я хотел бы создать только один ее экземпляр. лайк
mxArray * array = mxCreateCellMatrix(ARRAY_LEN, 1);
mxArray *str = mxCreateString("Hello");
for (size_t k = 0; k < ARRAY_LEN; ++ k) {
mxSetCell(array, k, str);
}
prhs[0] = array;
Возможно ли это? Как сборщик мусора знает, как его выпустить? Спасибо.