数据对象概述
数据 对象 是包含值或值组的存储区域。 可以使用其标识或引用对象的更复杂的表达式来访问每个值。 此外,每个对象都具有唯一的 数据类型。 对象的数据类型确定该对象的存储分配以及在后续访问期间对值的解释。 它也用于任何类型的检查操作。 对象的标识和数据类型都在对象 声明中建立。
类类型的实例通常称为 类对象。 个别类成员也称为对象。 所有成员对象的集合包括类对象。
数据类型通常分组为重叠的类型类别,例如:
基本类型与派生类型
基本 数据类型也称为语言的 "基本" , "基本" 或 "内置"。 其中包括整数,浮点数和字符。 派生 类型 (也称为标准 C++ 中的 "复合" 类型) 是根据基本类型集创建的,包括数组,指针,结构,并集和枚举。 所有 C++ 类都被视为复合类型。
内置类型与用户定义的类型
内置 数据类型包括所有基本类型,以及引用基本类型 (例如数组和指针) 的地址的类型。 用户定义的 类型由用户根据 typedef,结构,并集和枚举定义中的基本类型集创建。 C++ 类被视为用户定义的类型。
标量类型与聚集类型
Scalar 类型表示单个数据值,而 aggregate 类型表示多个相同类型或不同类型的值。 标量包括算术类型和指针。 聚集类型包括数组和结构。 C++ 类被视为聚集类型。
以下矩阵列出了受支持的数据类型及其分类为基本类型,派生类型,标量类型和聚集类型。
表 1. C/C++ 数据类型
数据对象
基本
复合
内置
用户- 已定义
标量
聚集
整数类型
+
+
+
浮点类型
+
+
+
字符类型
+
+
布尔值
+
+
+
空类型
+1
+
+
指针
+
+
+
数组
+
+
+
结构
+
+
+
联合
+
+
enumerations
+
+
请参阅注释2
类
+
+
+
typedef 类型
+
+
注:
void 类型确实是不完整的类型,如 不完整类型中所述。 然而,标准 C++ 将其定义为基本类型。
C 标准不会将枚举分类为标量或聚集。 标准 C++ 将枚举分类为标量。