13.1.7.1 固定長構造体と可変長構造体

可変長構造体には、代入演算子メンバー関数が別にあり、2つの可変長構造体間の代入を処理します。

たとえば、次のOMG IDL定義を考えます:

// OMG IDL
module INVENT
   {
   // Fixed-length
   struct Date
       {
       long year;
       long month;
       long day;
       };

// Variable-length
struct Address
      {
      string aptNum;
      string streetName;
      string city;
      string state;
      string zipCode;
      };
};

この定義は、次のようにC++にマッピングされます:

// C++
class INVENT
     {
     struct Date
        {
        CORBA::Long year;
        CORBA::Long month;
        CORBA::Long day;
         };
         struct Address
            {
            CORBA::String_var aptNum;
            CORBA::String_var streetName;
            CORBA::String_var city;
            CORBA::String_var state;
            CORBA::String_var zipCode;
            Address &operator=(const Address &_obj);
            };
};