Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

clibRelease

MATLAB から C++ オブジェクトを解放

説明

clibRelease(cppObj) は MATLAB から C++ オブジェクトを解放し、アクセスできないようにします。

すべて折りたたむ

この C++ クラスには Myclass オブジェクトを作成し、削除する関数があります。関数 clibRelease を使用して、削除したオブジェクトのメモリを管理します。

次のステートメントを含むヘッダー ファイル header.hpp を作成します。

class Myclass{};
Myclass* createMyclass() { return new Myclass(); }
void deleteMyclass(Myclass* myc) { delete myc; }

Myclass のインターフェイスを作成します。

clibgen.buildInterface('header.hpp','TreatObjectPointerAsScalar',true);
addpath("header")

Myclass オブジェクトを作成します。

cppObj = clib.header.createMyclass
cppObj = 
  Myclass with no properties.

関数 deleteMyclass を呼び出します。Myclass オブジェクトは MATLAB® ワークスペース内に残ります。

clib.header.deleteMyclass(cppObj)
whos

このメモリを解放するには、clibRelease を呼び出します。

clibRelease(cppObj);
cppObj
cppObj = 
  handle to deleted Myclass

入力引数

すべて折りたたむ

MATLAB で作成された C++ オブジェクト。ハンドルとして指定します。基の C++ オブジェクトは、解放されると MATLAB 内でアクセスできなくなり、MATLAB ハンドル cppObj が無効になります。オブジェクトが再度ライブラリから返されると、MATLAB はハンドルを作成します。

バージョン履歴

R2019a で導入