20.2.1 String_varクラス

IDLのstringをchar *にマッピングするとき,IDLコンパイラは,String_varクラスも生成します。これは,文字列用に割り当てられたメモリを指しているポインタを保持するクラスです。String_varオブジェクトがデストラクトされたり,スコープ外になったりすると,文字列用のメモリが自動的に解放されます。コードサンプル20-2に,String_varクラスおよびこのクラスがサポートするメソッドを示します。_varクラスの詳細については,「21.6 <class_name>_var」を参照してください。

コードサンプル20-2 String_varクラス

class CORBA {
  class String_var {
     protected:
        char*_p;
        ...
     public:
        String_var();
        String_var(const String_var& var);
        String_var(char *p);
        ~String_var();
        String_var&  operator=(const char *p);
        String_var&  operator=(char *p);
        String_var&  operator=(const String_var& s);
        operator const char *() const;
        operator char *();
        char &operator[ ](CORBA::ULong index);
        char operator[ ](CORBA::ULong index) const;
        friend ostream&  operator<<(
                           ostream&, const String_var&);
        inline friend Boolean  operator==(
                           const String_var& s1,
                           const String_var& s2);
        ...
     };
     ...
};