11.3.11 自動メモリ管理<interface_name>_varクラス
IDLコンパイラは,example_varという名前のクラスも生成します。このクラスはexample_ptrの代わりに使用できます。example_varクラスは動的に割り当てられたオブジェクトリファレンスに対応するメモリを自動的に管理します。example_varオブジェクトが削除されると,example_ptrに対応するオブジェクトが解放されます。example_varオブジェクトが新しい値を割り当てられると,example_ptrによってポイントされた古いオブジェクトリファレンスは,割り当て後に解放されます。キャスティング演算子も提供されており,これによってexample_varをタイプexample_ptrに割り当てることができます。
- コードサンプル11-10 example_c.hh生成ファイルのexample_varクラス(C++)
class example_var : public CORBA::_var { . . . public: static example_ptr _duplicate(example_ptr); static void _release(example_ptr); example_var(); example_var(example_ptr); example_var(const example_var &); ~example_var(); example_var& operator=(example_ptr); example_var& operator=(const example_var& _var) { /* . . . */ } operator example* () const { return _ptr; } . . . };
表11-1に,_varクラスのメソッドを説明します。