Эти таблицы показывают, как типы данных 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