Borland(R) Enterprise Server VisiBroker(R) プログラマーズリファレンス
可変長のメンバを持つ構造体か,または固定長のメンバを持つ構造体かによって,C++で生成するコードが異なります。コードサンプル20-21に示したexample構造体を可変長にした例を,コードサンプル20-24〜20-25に示します。ここでは,可変長構造体に変換するため,longメンバがstringと入れ替えられ,オブジェクトリファレンスが追加されています。
// IDL interface ABC { ... }; struct vexample { short a; ABC c; string name; };
// C++ struct vexample { CORBA::Short a; ABC_var c; CORBA::String_var name; vexample& operator=(const vexample& s); }; class vexample_var { ... };
ABCオブジェクトがABC_varクラスにマッピングされています。同様に,nameというstringがCORBA::String_varクラスにマッピングされます。また,可変長構造体の代入演算子も生成されます。
可変長構造体で_varクラスを使用すると,可変長メンバに対応するメモリが透過的に管理されます。
All Rights Reserved. Copyright (C) 2012, 2015, Hitachi, Ltd.
COPYRIGHT (C) 1992-2004 Borland Software Corporation. All rights reserved.