第8章 C++(www.cppentry.com)/C高级数据类型
C++(www.cppentry.com)/C高级数据类型
C语言中的构造数据类型如结构、联合、枚举等在C++(www.cppentry.com)中仍然有效。由于C++(www.cppentry.com)新增了一种类型名class,许多人错误地认为struct只能用来包装数据,或者class必须定义成员函数。
C++(www.cppentry.com)对C的结构、联合、枚举等进行了必要的改造和增强,本章比较分析了异同点,总结了使用要点,对于那些正在从C语言向C++(www.cppentry.com)语言过渡的程序员有较好的参考价值。
8.1 结构(struct)
如果只能使用基本数据类型来编程(www.cppentry.com),那将是一件痛苦的事情。C语言支持把基本数据类型组合起来形成更大的构造数据类型,这就是C语言的struct,有时也称为用户自定义数据类型(User Defined Type, UDT)。构造数据类型还可以嵌套(对象嵌入)和引用(对象关联),实际上,构造数据类型是一个递归的定义:
(1)由若干基本数据类型组合而成的类型是构造数据类型。
(2)由若干基本数据类型和构造数据类型组合而成的数据类型是构造数据类型。
(3)由若干构造数据类型组合而成的数据类型是构造数据类型。
语言本身的这种能力使我们能够定义非常复杂的数据结构,如树(tree)、链表(list)和映射(map)等。