C++ 中的复合数据类型(Composite Data Types)允许我们将多个基本数据类型组合成一个单一的数据类型。这些复合数据类型使得数据的管理和操作更加灵活和高效。以下是一些 C++ 中的主要复合数据类型:
1.
数组(Array):
数组是一种存储固定数量相同类型元素的线性数据结构。数组中的元素通过索引访问,索引从 0 开始。
cpp复制代码
|
int myArray[5] = {1, 2, 3, 4, 5}; |
2.
结构体(Struct):
结构体允许用户将不同类型的数据组合成一个单一的数据类型。结构体通常用于表示一个具有多个属性的对象。
cpp复制代码
|
struct Student { |
|
std::string name; |
|
int age; |
|
float score; |
|
}; |
3.
联合体(Union):
联合体与结构体类似,但它允许在相同的内存位置存储不同的数据类型。联合体中的所有成员共享同一块内存区域,所以一次只能使用其中一个成员。
cpp复制代码
|
union Data { |
|
int i; |
|
float f; |
|
char str[20]; |
|
}; |
4.
类(Class):
类是 C++ 面向对象编程的核心。类定义了一种新的数据类型,可以包含数据成员(属性)和成员函数(方法)。类还支持封装、继承和多态等特性。
cpp复制代码
|
class MyClass { |
|
private: |
|
int myPrivateVar; |
|
|
|
public: |
|
MyClass() : myPrivateVar(0) {} |
|
void setVar(int var) { myPrivateVar = var; } |
|
int getVar() const { return myPrivateVar; } |
|
}; |
5.
枚举(Enum):
枚举是一种用户定义的类型,它包含一组具名的整数值。枚举使得代码更加清晰,并且可以提高类型的安全性。
cpp复制代码
|
enum Color { RED, GREEN, BLUE }; |
6.
除了上述的复合数据类型,C++ 还提供了指针、引用和动态数据结构(如 std::vector、std::list、std::map 等),这些都可以看作广义上的复合数据类型,因为它们可以存储和操作更复杂的数据结构。
在编写 C++ 程序时,正确选择和使用这些复合数据类型是非常重要的,因为它们直接影响到程序的逻辑、内存使用和性能。同时,C++ 的标准库和第三方库也提供了大量基于这些复合数据类型的容器和算法,进一步简化了复杂数据结构的处理。