主要内容

定义失踪形状参数

在c++中,指针参数是用于标量数据和数组数据。使用一个指针数组,MATLAB®需要维度信息安全数组c++和MATLAB之间进行转换。的形状参数帮助你指定的尺寸指针。

请注意

这些指针类型只能作为标量。形状定义为1在库定义文件。

  • 代表c++类对象数组的指针

  • 指针non-const原始数组从函数返回

c++签名下面的示例向您展示如何指定一个论点的形状。在这些表中,描述的功能c++签名和指针的作用列都是基于假设参数的知识。签名本身并没有提供这些信息。

定义指针参数固定的标量

c++签名和指针的作用 defineArgument

这个函数的输入是一个标量指针

空白readScalarPtr (int const *)

为参数,设置形状1

defineArgument (readScalarPtrDefinition“在”,“int32”,“输入”1);

这个函数的输入是一个标量指针类ns: MyClass2

空白readScalarPtr (ns:: MyClass2 const *)

为参数,设置形状1

defineArgument (readScalarPtrDefinition“在”,“clib.cppUseCases.ns.MyClass2”,“输入”1);

定义指针参数

c++签名 defineArgument

这个函数的输入是一个指向一个整数数组的长度

空白readMatrix1DPtr (int const *垫、size_t米)

为参数,设置形状来论证

defineArgument (readMatrix1DPtrDefinition“垫”,“int32”,“输入”,“m”);

这个函数的输入是一个指向一个固定长度的数组

空白readMatrix1DPtrFixedSize (int const *垫)

为参数,设置形状一个固定的整数,如5所示。

defineArgument (readMatrix1DPtrFixedSizeDefinition“垫”,“int32”,“输入”5);

这个函数的输入是一个指针指向一个二维整数矩阵的大小——- - - - - -n

空白readMatrix2DPtr (int const *垫,size_t m, size_t n)

为参数,设置形状(“m”、“n”)

defineArgument (readMatrix2DPtrDefinition“垫”,“int32”,“输入”,(“m”,“n”]);

这个函数的输入是一个指针指向一个二维矩阵固定的尺寸。

空白readMatrix2DPtrFixedSize (int const *垫)

为参数,设置形状一个固定的整数,如6所示。

defineArgument (readMatrix2DPtrFixedSizeDefinition“垫”,“int32”,“输入”6);

这个函数的输入是一个指针指向一个三维矩阵的大小——- - - - - -n——- - - - - -p

空白readMatrix3DPtr (int const *垫,size_t m, size_t n, size_t p)

为参数,设置形状[“m”,“n”,“p”)

defineArgument (readMatrix3DPtrDefinition“垫”,“int32”,“输入”,(“m”,“n”,“p”]);

定义数组参数

c++签名 defineArgument

这个函数的输入是一个一维数组的长度len

空白readMatrix1DArr (int const[]垫,size_t len)

为参数,设置形状长度len

defineArgument (readMatrix1DArrDefinition“垫”,“int32”,“输入”,“兰”);

这个函数的输入是一个二维数组的大小len通过typeSz

空白readMatrix2DArr (int const[]垫、size_t len size_t typeSz)

为参数,设置形状(“兰”、“typeSz”)

defineArgument (readMatrix2DArrDefinition“垫”,“int32”,“输入”,(“兰”,“typeSz”]);

定义输出指针参数

c++签名 defineArgument

这个函数的输入是一个指针数组的长度len。函数返回一个指针参数作为输出。

整型常量* getRandomValues (size_t len)

的返回值RetVal,设置形状来论证len

defineOutput (getRandomValuesDefinition“RetVal”,“int32”,“兰”);

这个函数的输出参数是一个指针指向一个固定长度的数组。

整型常量* getRandomValuesFixedSize ()

的返回值RetVal,设置形状一个整数,如5所示。

defineOutput (getRandomValuesFixedSizeDefinition“RetVal”,“int32”5);

定义额外的输出参数

c++签名 defineArgument

这个函数返回一个整数值,输入参数的值参数点。

int getvalue (int *参数)

为参数参数,改变方向“输出”,改变MLTYPE“int32”,并设置形状为1。

defineArgument (getValuesDefinition“参数”,“int32”,“输出”1);

调用内置的函数接口一个从MATLAB,类型:

[着干活,out2] = clib.A.getValues

定义标量对象参数

c++签名 defineArgument

这个函数的输入是一个指向类ns: MyClass2

双addClassByPtr (ns: MyClass2 const * myc2)

myc2参数,设置形状1

defineArgument (addClassByPtrDefinition“myc2”,“clib.cppUseCases.ns.MyClass2”,“输入”1);

这个函数的输入是一个指向类ns: MyClass2

空白updateClassByPtr (ns:: MyClass2 * myc2,双,b, c)长

为参数myc2,设置形状1

defineArgument (updateClassByPtrDefinition“myc2”,“clib.cppUseCases.ns.MyClass2”,“输入”1);

这个函数的输入是一个指向类ns: MyClass2

空白readClassByPtr (ns: MyClass2 * myc2)

为参数myc2,设置形状1

defineArgument (readClassByPtrDefinition“myc2”,“clib.cppUseCases.ns.MyClass2”,“输入”1);

这个函数的输入是一个指向类ns: MyClass2

空白fillClassByPtr (ns:: MyClass2 * myc2,双,b, c)长

为参数myc2,设置形状1

defineArgument (fillClassByPtrDefinition“myc2”,“clib.cppUseCases.ns.MyClass2”,“输入”1);

定义矩阵参数

c++签名 defineArgument

这个函数的输入是一个指向一个整数向量的长度len。这个论点x修改输入参数。

空白updateMatrix1DPtrByX (int *垫、size_t len int x)

为参数,设置方向“输入输出”形状“兰”

defineArgument (updateMatrix1DPtrByXDefinition“垫”,“int32”,“输入输出”,“兰”);

这个函数的输入是指一个整数数组的长度len。论点x修改输入参数

空白updateMatrix1DArrByX (int[]垫,size_t len, int x)

为参数,设置方向“输入输出”形状“兰”

defineArgument (updateMatrix1DArrByXDefinition“垫”,“int32”,“输入输出”,“兰”);

这个函数的输入是一个指向一个整数向量的长度len。不修改输入参数的函数。

int addValuesByPtr (int *垫,size_t len)

为参数,设置方向“输入”形状“兰”

defineArgument (addValuesByPtrDefinition“垫”,“int32”,“输入”,“兰”);

这个函数的输入是指一个整数数组的长度len。不修改输入参数的函数。

int addValuesByArr (int[]垫,size_t len)

为参数,设置方向“输入”形状“兰”

defineArgument (addValuesByArrDefinition“垫”,“int32”,“输入”,“兰”);

这个函数创建一个整数向量的长度len并返回一个引用向量。

空白fillRandomValuesToPtr (int *垫,size_t len)

为参数,设置方向“输出”形状“兰”

defineArgument (fillRandomValuesToPtrDefinition“垫”,“int32”,“输出”,“兰”);

这个函数创建一个整数向量的长度len并返回一个引用向量。

空白fillRandomValuesToArr (int[]垫,size_t len)

为参数,设置方向“输出”形状“兰”

defineArgument (fillRandomValuesToArrDefinition“垫”,“int32”,“输出”,“兰”);

定义字符串参数

c++签名 defineArgument

这个函数的输入是一个c风格的字符串。

const char * getStringCopy (const char * str)

为参数str,设置MLTYPE“字符串”形状“nullTerminated”

defineArgument (getStringCopyDefinition“力量”,“字符串”,“输入”,“nullTerminated”);

这个函数的返回值是一个字符串。

const char * getStringCopy (const char * str)

的返回值RetVal,设置MLTYPE“字符串”形状“nullTerminated”

defineOutput (getStringCopyDefinition“RetVal”,“字符串”,“nullTerminated”);

这个函数的返回值是一个字符串的长度缓冲区

空白getMessage (char * pmsg int buf)

MATLAB定义参数pmsg作为输入变量的类型clib.array.libname.Char

% defineArgument (getMessageDefinition,“pmsg”,…“clib.array.libname.Char”,“输入”,<形>);

定义pmsg作为一个字符串类型的输出变量:

  • 取代“输入”“输出”

  • 类型替换为“字符串”并设置<形>“nullTerminated”

  • 添加“NumElementsInBuffer”名称-值参数设置为变量缓冲区

defineArgument (getMessageDefinition“pmsg”,“字符串”,输出”、“nullTerminated”,……“NumElementsInBuffer”,“缓冲区”);

这个函数的输入是一个字符串指定的长度len

空白readCharArray (const char * chArray size_t len)

为参数chArray,设置MLTYPE“字符”形状“兰”

defineArgument (readCharArrayDefinition“chArray”,“字符”,“输入”,“兰”);

这个函数的输入是一个数组的类型int8和长度len

空白readInt8Array (const char * int8Array size_t len)

为参数int8Array,设置MLTYPE“int8”形状“兰”

defineArgument (readInt8ArrayDefinition“int8Array”,“int8”,“输入”,“兰”);

这个函数的返回值是一个标量的字符。

const char * getRandomCharScalar ()

的返回值RetVal,设置MLTYPE“字符”形状1

defineOutput (getRandomCharScalarDefinition“RetVal”,“字符”1);

这个函数的返回值的类型int8

const char * getRandomInt8Scalar ()

的返回值RetVal,设置MLTYPE“int8”形状1

defineOutput (getRandomInt8ScalarDefinition“RetVal”,“int8”1);

这个函数更新输入参数chArray。的长度chArraylen

空白updateCharArray (char * chArray size_t len)

为参数chArray,设置方向“输入输出”形状“兰”

defineArgument (updateCharArrayDefinition“chArray”,“int8”,“输入输出”,“兰”);

这些函数的输入是一个c字符串数组的大小numStrs

空白readCStrArray (char * * str, int numStrs);
空白readCStrArray (char * str [], int numStrs);

为参数str,设置形状的数组[" numStrs”、“nullTerminated”)

defineArgument (readCStrArrayDefinition“力量”,“字符串”,“输入”,(“numStrs”,“nullTerminated”])

这些函数的输入是一个常量数组c字符串的大小numStrs

空白readConstCStrArray (const char * * str, int numStrs);
空白readConstCStrArray (const char * str [], int numStrs);

调用clibgen.generateLibraryDefinitionTreatConstCharPointerAsCString设置为true自动定义形状为参数str作为[" numStrs”、“nullTerminated”)

defineArgument (readConstCStrArrayDefinition“力量”,“字符串”,“输入”,(“numStrs”,“nullTerminated”])

这个函数的输入是一个固定大小的c字符串数组。

空白readFixedCStrArray (char * str [5]);

为参数str,设置形状的数组nullTerminated“[5]

defineArgument (readFixedCStrArrayDefinition“力量”,“字符串”,“输入”,5,“nullTerminated”])

这个函数的输入是一个固定大小的c字符串常量数组。

空白readConstCFixedStrArray (const char * str [5]);

调用clibgen.generateLibraryDefinitionTreatConstCharPointerAsCString设置为true来定义形状为参数str作为nullTerminated“[5]

defineArgument (readConstFixedCStrArrayDefinition“力量”,“字符串”,“输入”,5,“nullTerminated”])

定义类型的指针参数

c++签名 defineArgument

这个函数的输入是一个指针类型intDataPtr

空白useTypedefPtr (intDataPtr input1)

intDataPtr被定义为:

typedef int16_t intData;typedef intData * intDataPtr;

为参数input1,设置方向输入形状1

defineArgument (useTypedefPtrDefinition“input1”,“int16”,“输入”1);

使用属性或方法形状

您可以使用一个公共非静态的c++数据成员(属性)形状非静态的方法的返回类型或另一个非静态的数据成员(属性)在同一个班。属性必须被定义为一个整数(c++类型int)。类似地,您可以使用一个静态c++作为数据成员形状参数静态方法的返回类型或另一个静态数据成员在同一个班。

您可以使用一个公共、非静态的c++ 方法形状 参数为非静态的属性或非静态的方法的返回类型相同的类。方法必须得到全面实施,没有输入参数和返回类型必须被定义为 c++类型int

您可以使用的组合参数,属性和方法的形状参数方法的返回类型。如果指定的形状存在作为一个参数和方法或属性,然后参数优先考虑。在这种情况下形状作为一个参数。

c++签名 形状的价值观

数据成员的大小rowData定义数据成员关口和方法的结果渠道

类{公众:int行;整数关口;构成了rowData; int *int频道();};

对财产rowData,设置形状一个数组的,关口,渠道

addProperty (ADefinition构成了rowdata””,(“行”,“关口”,“通道”]“描述”,“clib.array.libname。Int数据成员的c++类a”。);

返回的数组的大小getData定义数据成员关口和的结果渠道方法。

B类{公众:int行;整数关口;构成了rowData; int *int频道();const int * getData ();};

方法的返回值getData,设置形状一个数组的,关口,渠道

defineOutput (getDataDefinition“RetVal”,“clib.array.libname.Int”,(“行”,“关口”,“通道”]);

返回的数组的大小getData定义的是参数和方法的结果渠道

类C{公众:int行;int频道();const int * getData (int行);};

方法的返回值getData,设置形状一个数组参数和方法渠道

defineOutput (getDataDefinition“RetVal”,“clib.array.C.Int”,(“行”,“通道”]);

相关的话题