Main Content

defineArgument

类: clibgen.ConstructorDefinition
命名空间: clibgen

为 C++ 构造函数添加输入参量定义

说明

defineArgument(ConstructorDefinition,CPPName,MATLABType) 为 C++ 构造函数添加输入参量定义。

defineArgument(ConstructorDefinition,CPPName,MATLABType,Direction) 定义参量是输入、输出,还是两者兼而有之。

defineArgument(ConstructorDefinition,CPPName,MATLABType,Direction,Shape) 提供有关数据维度的信息。

defineArgument(___,Name,Value) 添加由一个或多个 Name,Value 对组参量指定的附加参量定义选项,且可包含上述语法中的任何输入参数。

输入参数

全部展开

构造函数定义,指定为 clibgen.ConstructorDefinition 对象。

C++ 参量名称,指定为字符串标量或字符向量,与 'Description' 名称-值对组参量结合使用。

MATLAB® 类型,指定为字符串标量或字符向量。有关详细信息,请参阅 Define Missing MLTYPE Parameter

参量类型,对于输入参量指定为 "input",对于输出参量指定为 "output",对于同时作为输入和输出的参量指定为 "inputoutput"。有关详细信息,请参阅 Define Missing DIRECTION Parameter

MATLAB 用于定义数据维度的维度定义,指定为字符串向量、标量文本、正整数向量、"nullTerminated" 或元胞数组。对于元胞数组,元素是标量文本和正整数标量的组合。有关详细信息,请参阅 Define Missing SHAPE Parameter

如果可以将参量维度定义为固定标量值,请输入数字,例如 5

如果维度由另一个参量定义,则以字符串形式输入参量名称。例如,假设有以下 C++ 签名。如果参量 len 定义 data 的长度,则 Shape 的值为 "len"

myFunc(const int *data, int len)

如果参量的大小由数组定义,则 Shape 的值为下列值之一:

  • 1

  • 固定维度:输入数值数组,例如 [5,2]

  • 可变维度:输入由参数名称组成的字符串数组,例如 ["row","col"]

如果参量的 C++ 类型是字符串,则使用这些选项为 MATLABTypeShape 参量选择值。

C++ 类型MATLABTypeDIRECTIONSHAPE 的选项
char*a

"int8"

"input"

标量值
标量值构成的数组

char**
char*[]

"string"

"input"

元胞

const char*

"char"

 

标量值
标量值构成的数组

"string"

"input"

"nullTerminated"

const char**
const char*[]

"char"

"input"

标量值
标量值构成的数组

"string"

"input"

"nullTerminated"

a These types are equivalent to MATLAB char:

  • wchar_t

  • char16_t

  • char32_t

有关详细信息,请参阅C++ to MATLAB Data Type Mapping

名称-值参数

将可选的参量对组指定为 Name1=Value1,...,NameN=ValueN,其中 Name 是参量名称,Value 是对应的值。名称-值参量必须出现在其他参量之后,但参量对组的顺序无关紧要。

在 R2021a 之前,使用逗号分隔每个名称和值,并用引号将 Name 引起来。

C++ 参量说明,指定为字符串标量或字符向量。此值设置 描述 属性。

自 R2020a 起

转移参量的内存所有权,指定为数值或逻辑值 1 (true) 或 0 (false)。MATLAB 拥有作为输入参量的指针或引用分配的内存。C++ 库不会释放此内存。要更改非 const 参量的此行为,请将 'ReleaseOnCall' 设置为 true

以下各项不支持 'ReleaseOnCall' 参量:

  • const 参量。

  • 定义为输出的双精度指针(obj**void**)参量。

如果未指定 'ReleaseOnCall',则 ReleaseOnCall 为 false。

有关详细信息,请参阅 Lifetime Management of C++ Objects in MATLAB

示例: 'ReleaseOnCall',true

数据类型: logical

填充维度的位置,指定为数值或逻辑值 1 (true) 或 0 (false)。默认情况下,当 MATLAB 输入的维度少于对应的 C++ 参量时,则 MATLAB 在 Shape 参量的开头插入单一维度。要在末尾插入单一维度,请将 'AddTrailingSingletons' 设置为 true。有关详细信息,请参阅Dimension Matching

示例: 'AddTrailingSingletons',true

数据类型: logical

版本历史记录

在 R2019a 中推出