C++程序设计:typedef定义类型详解

需积分: 10 0 下载量 56 浏览量 更新于2024-08-19 收藏 8.81MB PPT 举报
"用typedef定义类型-c++程序设计(谭浩强)" 在C++编程中,`typedef`是一个关键字,用于为现有的类型创建一个新的别名。这个别名可以使得代码更具可读性和可维护性,尤其是在处理复杂的数据结构时。在给定的描述中,我们可以看到`typedef`的两个关键点: 1. `typedef`不能定义变量,它只能定义类型。这意味着你可以用`typedef`来创建一个新的类型名,但不能直接初始化变量。例如: ```cpp typedef float REAL; REAL x, y; // 这里定义了类型REAL,然后创建了两个REAL类型的变量x和y ``` 2. `typedef`可以用于结构体(`struct`)类型,创建结构体的别名。这样,你可以用新的类型名来声明结构体变量,而不是每次都使用`struct`关键字。例如: ```cpp typedef struct student { int i; int *p; } REC; REC x, y, *pt; // 这里定义了REC类型,等同于struct student struct student x, y, *pt; // 两种方式声明结构体变量是等价的 ``` 在C++中,`typedef`的用途还包括简化模板类的使用,特别是在处理模板泛型编程时,可以使代码更易读。例如,如果你有一个模板队列(`queue`)类,可以创建一个typedef来代表特定类型的队列: ```cpp #include <queue> typedef std::queue<int> IntQueue; IntQueue myQueue; ``` 这样,`myQueue`现在就是一个整数类型的队列,而无需每次声明时都写完整个`std::queue<int>`。 C++的发展历程也是编程语言演进的一个缩影。C++由Bjarne Stroustrup在C语言的基础上发展和完善,引入了面向对象编程的概念,如类(`class`)、继承(`inheritance`)、封装(`encapsulation`)和多态(`polymorphism`),以及模板(`templates`)和异常处理(`exceptions`)等特性。C++的目标是提供一种高效、灵活且可移植的编程语言,兼顾低级编程的性能和高级编程的抽象能力。 C++的主要特点包括: 1. 结构化编程:C++支持结构化编程原则,使程序结构清晰,易于理解和维护。 2. 高级和低级语言特性结合:丰富的运算符、位运算以及灵活的数据结构,让C++在系统编程和应用编程中都表现出色。 3. 可移植性:C++编写的程序可以在多种不同的计算机平台上运行,只需少量或无需修改。 4. 程序设计自由度大:语法相对宽松,允许程序员根据需求进行高度定制,但这也意味着对程序员的要求较高,需要对语言有深入理解。 `typedef`在C++中是一个非常实用的工具,可以帮助程序员创建更易读的代码,同时C++作为一种强大的编程语言,其特点和灵活性使其在各种领域都有着广泛的应用。