Эти таблицы показывают, как типы данных MATLAB® соответствуют фиксированной ширине типы C++.
| C целочисленный тип Фиксированной Ширины | Эквивалентный тип MATLAB |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| C тип с плавающей точкой | Эквивалентный тип MATLAB |
|---|---|
|
|
|
|
| Другой тип C | Эквивалентный тип MATLAB |
|---|---|
|
|
MATLAB поддерживает их "не зафиксированная ширина" C целочисленные типы. На основе используемого компилятора MATLAB сопоставляет эти типы с соответствующей фиксированной шириной C типы, как показано в таблицах Fixed-Width Data Types.
short
short int
signed short
signed short int
unsigned short
unsigned short int
int
signed int
unsigned
unsigned int
long
signed long
signed long int
unsigned long
unsigned long int
long long
Эти таблицы показывают, как MATLAB преобразует string и char данные, возвращенные в C++ в типы MATLAB.
| Тип символов C++ | Эквивалентный тип MATLAB |
|---|---|
|
|
|
|
|
|
|
|
| Строковый тип C++ | Эквивалентный тип MATLAB |
|---|---|
|
|
|
|
|
|
| Тип символов Точной Ширины C++ | Эквивалентный тип MATLAB |
|---|---|
|
|
|
|
Эта таблица показывает, как вызвать C++ пользовательский тип в библиотеке libname интерфейса MATLAB.
| C++ пользовательский тип | Эквивалентный тип MATLAB |
|---|---|
|
|
|
|
nullptr Возвратите типыИнтерфейс C++ возвращает специфичный для типа empty значения для функций, которые возвращают nullptr.
Для типа double, MATLAB возвращает [] для значения double.empty.
Для всех других фундаментальных типов, MATLAB возвращает значение. Определить MLTYPEпустойMLTYPE, ищите C или тип C++ в таблицах в этой теме. MLTYPE находится в столбце Equivalent MATLAB Type.
Протестировать на nullptr типы, вызовите isempty функция.
Для нефундаментальных типов, MATLAB возвращает nullptr объект. Протестировать на nullptr объекты, вызовите clibIsNull функция.
Если тип данных типа аргумента/возвращаться в конструкторе класса, методе или функции является одним из этих типов, или если библиотека содержит какие-либо неподдерживаемые функции языка, то функциональность не включена в интерфейс MATLAB к библиотеке.
Любой тип с размером, больше, чем 64 бита, например, long double
void *
Массивы типов символов (wchar_t, char16_t, char32_t)
Указатели или массивы std::string
Указатели или ссылки на перечисления
Члены справочных данных
std интеллектуальные указатели кроме std::shared_ptr
Статические элементы данных
** указатели на типы примитивов, такие как double**. MATLABsupports ** указатели на пользовательские классы, используемые в качестве функции или method типов параметра.
Многоуровневые указатели, такие как type***
Указатель функции
Шаблоны классов с неполным или никакими инстанцированиями
union
MATLAB сообщает относительно построений о том использовании неподдерживаемые типы. Чтобы просмотреть эти сообщения, используйте 'Verbose' опция в clibgen.generateLibraryDefinition или clibgen.buildInterface функции.
Например, предположите тот functionName в ClassName задан в HeaderFile.h. Если аргумент к functionName имеет неподдерживаемый тип type, затем MATLAB не добавляет functionName к файлу определения. Кроме того, если 'Verbose' true, затем clibgen.generateLibraryDefinition отображения это сообщение.
Did not add member 'functionName' to class 'ClassName' at HeaderFile.h:290. 'type' is not a supported type.
clibgen.buildInterface | clibgen.generateLibraryDefinition