Возможно ли вернуть массив ячеек, содержащий один экземпляр в нескольких ячейках?

Я пишу некоторую функцию 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;

Возможно ли это? Как сборщик мусора знает, как его выпустить? Спасибо.

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

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