20.8.1 固定長構造体
Borland Enterprise Server VisiBrokerのIDLコンパイラは,C++にマッピングされた固定長IDL構造体に,構造体と構造体に対する_varクラスを生成します。_varクラスの詳細については,「21.6 <class_name>_var」を参照してください。
- コードサンプル20-21 IDL内の固定長構造体定義
// IDL struct example { short a; long b; };
- コードサンプル20-22 固定長IDL構造体のC++へのマッピング
// C++ struct example { CORBA::Short a; CORBA::Long b; }; class example_var { ... private: example *_ptr; };
- 〈この項の構成〉
(1) 固定長構造体の使用
_varクラスであるフィールドにアクセスするには,->演算子が必要となります。コードサンプル20-23は,その例を示しています。ex2がスコープ外となると,割り当てられていたメモリが自動的に解放されます。
- コードサンプル20-23 example構造体およびexample_varクラスの使用
// example構造体を宣言し,領域を初期化します。 example ex1 = { 2, 5 }; // _varクラスを宣言し,新しく作成したexample構造体を代入します。 // _varは,未初期化の領域を持つ構造体を指します。 example_var ex2 = new example; // ex1からex2の領域を初期化します。 ex2->a = ex1.b;