DIL中基本数据类型

(1)基本数据类型:OMG IDL基本数据类型包括short、long和相应的无符号(unsigned)类型,表示的字长分别为16、32位。 
(2)浮点数类型:OMG IDL浮点数类型包括float、double和long double类型。其中float表示单精度浮点数,double表示双精度浮点数,long double表示扩展的双精度浮点数。 
(3)字符和超大字符类型:OMG IDL定义字符类型char为面向字节的码集中编码的单字节字符; 定义类型wchar为从任意字符集中编码的超大字符。 
(4)逻辑类型:用boolean关键字定义的一个变量,取值只有true和false。 
(5)八进制类型:用octet关键字定义,在网络传输过程中不进行高低位转换的位元序列。 octet 是 8 位类型。因为保证了 octet
在地址空间之间传送时不会有任何表示更改,因此这就使它变成了一种非常重要的类型。这就表示您可以发送二进制数据,并且知道当将它打包时,它的形式仍然相
同。其它每种 IDL 类型在传输时都有表示变化。例如,根据 IOR 代码集信息的指示,char 数组会经历代码集转换。而 octet
数组却不会。
(6)any数据类型:引入该类型用于表示OMG IDL中任意数据类型。 
(7) 常量 
  OMG IDL用const关键字声明一个常量,用于模块(module)或接口(interface)中定义保持不变的量,如: 
  const double PI = 3.1415926; 
  在IDL中,可以定义long、unsigned long、unsigned short、char、boolean、float、double、string类型的常量。

(8)结构类型: 
  typedef long GoodsNumber; 
  struct 
  { GoodsNumber number; 
  string name; 
  float price; } 
(9)联合类型: 
  union stockIn switch( short ) 
  { case 1: stocker : long; 
  case 2: goodsName1 : string; 
  case 3: goodsName2 : string; } 
(10)枚举类型: 
  enum GoodsStatus { GOODS_SALED, GOODS_INSTOCK}; 
(11) 数组类型 
  OMG IDL的数组类型提供了多维定长、统一数据格式的数据存储方式——数组。每一维的长度必须在定义时给定,所有数据单元必须存储相同类型的元素。如下例定义一个长度为20×100的整数数组: 
  typedef long aDimension[20][100]; 
(12)模板(template)类型 
(13)序列(sequence)类型: 
  用该方法定义长度可变的任意数值类型的存储序列,通常在定义时可以指定长度,也可以不指定,如: 
  typedef sequence <long,80> aSequence; 
  //长度定义为80 
  typedef sequence <long> anotherSequence; 
  //长度不定 字符串(string)序列: 
  同样对于字符串序列类型,也有两种定义方式: 
  typedef string <80> aName; //长度定义为80 
  typedef string anotherName; //长度不定

上一篇:Android getAttributeIntValue()详解-霞辉


下一篇:[Luogu 1395] 会议