由于 CORBA 数据类型至 C++ 代码的映射是由类型和用途一起决定的(例如,是否将项指定给其 in、inout、out 或 return),因此在代码生成期间或将其从 CORBA 域复制到 C++ 域时(例如,当您将属性或操作从 CORBA 接口拖动到常规类),每种类型将根据其用途映射至特定的 C++ 构造。
在使用类型和接口的情况下,存在两种属性会影响 CORBA 类型至 C++ 代码的映射:
| 属性值 | C++ 实现 | 在操作特征符中声明参数时使用的元类 | |
|---|---|---|---|
| 结构 | 固定 | <结构名称> | CORBA::C++Mapping_CORBAFixedStruct |
| Variable | <结构名称>_var | CORBA::C++Mapping_CORBAVariableStruct | |
| 数组 Typedef | 固定 | <Typedef 名称> | CORBA::C++Mapping_CORBAFixedArray |
| Variable | <Typedef 名称>_var | CORBA::C++Mapping_CORBAVariableArray | |
| 顺序 Typedef | 固定 | <Typedef 名称>_var | CORBA::C++Mapping_CORBASequence |
| Variable | <Typedef 名称>_var | CORBA::C++Mapping_CORBASequence | |
| 语言类型 | 固定 | <类型名称> | 用户可以选择;缺省值为 CORBA::C++Mapping_CORBABasic |
| Variable | |||
| 简单 Typedef |
简单 Typedef 递归至 typeDef 重新定义的最后一个实数类型,并使用该类型的 CORBA::Type::C++Implementation 的值(如果它是类型),或 CORBA::Class:C++Implementation 的值(如果它是接口),以及类型相应的 CORBA::C++Mapping_CORBA<implementation><type> 元类。 | ||