Interstage Application Server アプリケーション作成ガイド (CORBAサービス編)
目次 索引 前ページ次ページ

第5章 アプリケーションの開発(C++言語)

5.6 varクラス

 CORBAでは、クライアント上の可変長データを以下のように扱います。

 上記解放処理がユーザミスにより行われなかった場合、解放漏れとなって無駄な資源がメモリ中に残ることになります。
 CORBAでは、上記解放処理の簡易化のため、varクラスが提供されています。varクラは、CORBAの可変長データを自動変数化して扱うための機能を提供します。varクラスで提供している主な機能は以下のとおりです。

 varクラスは、以下の4とおりあります。

 String_varクラス
 文字列を扱うためのvarクラス
 WString_varクラス
 ワイド文字列を扱うためのvarクラス
 Any_varクラス
 Any型を扱うためのvarクラス
 ユーザ定義型varクラス
 ユーザ定義により作成されるデータ型に対するvarクラス。シーケンス型、構造体、共用体、配列、各インタフェースにより作成されるObject型。

 varクラスの使用イメージを以下に示します。

  func()
  {
      SampleStruct *data = new SampleStruct; 
      ...                   // dataに値を設定。
      SampleStruct_var  var_data
      var_data = data;      // dataのポインタをvar_dataに格納。
      ... 
      var_data->para1 = 3;  // var_dataに格納されているポインタを取り出し、
                            // 構造体の要素para1のデータを書き換えます。
      ... 
  }    // 関数終了時に自動変数var_dataが解放されます。その際、デストラクタが起動され、
       // newで獲得したSampleStructの領域も同時に解放されます。

下へ5.6.1 String_varクラス
下へ5.6.2 WString_varクラス
下へ5.6.3 Any_varクラス
下へ5.6.4 ユーザ定義varクラス

目次 索引 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2005