Main Content

clibArray

C++ ライブラリ関数に対する MATLAB の clib 配列の作成

説明

cArray = clibArray(elementTypeName,dimensions) は、[x1,...,xN] として指定される C++ 次元をもつ elementTypeName の C++ オブジェクトを表す MATLAB® オブジェクト "clib 配列" を作成します。C++ オブジェクトがプリミティブ型の場合、cArray にゼロ値が含まれます。C++ オブジェクトがクラス型の場合、MATLAB は既定のコンストラクターを使用して cArray を初期化します。

MATLAB clib 配列は、対応する C++ ネイティブ配列が使用される場合、またはサポートされている C++ 構造、つまり関数引数、関数の戻り値、およびデータ メンバーにより std::vector が使用される場合にのみ、定義できます。

あるいは、要素の型が基本型、規定のコンストラクターを持つユーザー定義クラス、あるいは標準 string 型の場合、clib.array コンストラクターを呼び出します。たとえば、libname に定義されている elementTypeName は次のようにします。

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

cArray のメモリは MATLAB によって所有されています。このメモリを解放するには、clibRelease を呼び出します。

MATLAB 配列を C++ 配列に変換するには、clibConvertArray を呼び出します。

すべて折りたたむ

libname ライブラリとクラス myclass があるとします。

5 つの myclass オブジェクトからなる空配列を作成します。

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

入力引数

すべて折りたたむ

C++ の型。string または文字ベクトルとして指定します。詳細については、C++ から MATLAB へのデータ型のマッピングを参照してください。サポートされている型は次のとおりです。

MATLAB は C++ の基本型の名前をアッパー キャメル ケースに変換します。たとえば、C++ の signed int 型に対する elementTypeNameSignedInt です。

型は完全修飾の C++ の型名です。たとえば、ライブラリ libname でクラス myclass が定義されると、elementTypeNameclib.libname.myclass になります。

例: clib.libname.Double

データ型: char | string

配列の各次元の要素の数。整数 [x1,...,xN] として指定します。

例: [2,3]

バージョン履歴

R2020a で導入