exponenta event banner

clibArray

Создание массива MATLAB объектов C++

Описание

пример

cArray = clibArray(typeName,dimensions) создает объект MATLAB ®, представляющий объект C++ typeName с размерами C++, указанными как [x1,...,xN]. Если объект C++ является примитивным типом, то cArray содержит нулевые значения. Если объект C++ является типом класса, то MATLAB инициализируется cArray с использованием конструктора по умолчанию.

Массив MATLAB clib может быть определен только в том случае, если соответствующий собственный массив C++ или std::vector используется поддерживаемыми конструкциями C++ - аргументами функций, возвращениями функций и членами данных.

Кроме того, если тип элемента является фундаментальным типом, определяемым пользователем классом с конструктором по умолчанию или стандартным строковым типом, вызовите clib.array конструктор. Например, для typeName определено в libname:

cArray = clib.array.libname.typeName(dimensions)

Память cArray принадлежит MATLAB. Для освобождения памяти вызовите clibRelease.

Чтобы преобразовать массив MATLAB в массив C++, вызовите clibConvertArray.

Примеры

свернуть все

Предположим, что у вас есть библиотека libname с классом myclass.

Создание пустого массива из пяти myclass объекты.

myclassArray = clibArray('clib.libname.myclass',5);
class(myclassArray)
ans = 
    'clib.array.libname.myclass' 

Входные аргументы

свернуть все

Тип C++, указанный как строка или символьный вектор. Дополнительные сведения см. в разделе Сопоставление типов данных C++ с MATLAB. Поддерживаются следующие типы:

MATLAB преобразует названия фундаментальных типов C++ в верхний верблюжий регистр. Например, typeName для типа C++ signed int является SignedInt.

Тип является полным именем типа C++. Например, если библиотека libname определяет класс myclass, то typeName является clib.libname.myclass.

Пример: clib.libname.Double

Типы данных: char | string

Количество элементов в каждом измерении массива, указанное как целые числа [x1,...,xN].

Пример: [2,3]

Представлен в R2020a