IDLのwstringをCORBA::WChar *にマッピングするとき,IDLコンパイラは,WString_varクラスも生成します。これは,文字列用に割り当てられたメモリを指しているポインタを保持するクラスです。WString_varオブジェクトがデストラクトされたり,スコープ外になったりすると,文字列用のメモリが自動的に解放されます。コードサンプル20-3に,WString_varクラスおよびこのクラスがサポートするメソッドを示します。_varクラスの詳細については,「21.6 <class_name>_var」を参照してください。
class CORBA {
class WString_var {
private:
CORBA::WChar *_p;
...
public:
WString_var();
WString_var(const WString_var& var);
WString_var(CORBA::WChar *p);
WString_var(const CORBA::Whcar *p);
~WString_var();
WString_var& operator=(const CORBA::WChar *p);
WString_var& operator=(CORBA::WChar *p);
WString_var& operator=(const WString_var& s);
operator CORBA::WChar *();
operator const CORBA::WChar *();
CORBA::WChar &operator[ ](CORBA::ULong index);
CORBA::WChar operator[ ](CORBA::ULong index);
friend ostream& operator<<(
ostream&, const WString_var&);
friend CORBA::Long compare(
const WString_var& s1,
const WString_var& s2);
...
};
...
};