C++编程:理解const常量与指针

需积分: 42 1 下载量 137 浏览量 更新于2024-08-24 收藏 8.81MB PPT 举报
"const类型变量-清华大学谭浩强C++教程" C++中的`const`关键字是用来声明常量或常量引用的,它确保了变量一旦被初始化后就不能再被修改。`const`类型变量分为两种主要类型:`const`型常量和`const`型指针。 1. `const`型常量: 当你声明一个`const`类型的变量时,你创建了一个不可变的常量。例如: ```cpp const int MaxLine = 1000; const float Pi = 3.1415926; ``` 这里的`MaxLine`和`Pi`都是常量,它们在声明时必须被初始化,且之后不能再被赋值。尝试像下面这样修改它们会导致编译错误: ```cpp MaxLine = 35; // 错误,无法对const常量赋值 ``` 2. `const`型指针: `const`也可以用来修饰指针,这有两种情况: - 指针指向的值不可变: ```cpp int num = 10; const int *p = # ``` 在这里,`p`是一个指向`int`的常量指针,意味着`p`不能改变指向另一个`int`变量,但`num`的值是可以改变的。 - 指针自身可变,但所指的值不可变: ```cpp int num = 10; int *const p = # ``` 这里,`p`是一个指向`int`的常量,意味着`p`的值(即它所指向的地址)是固定的,但`num`的值可以改变。 - 指针和所指的值都不可变: ```cpp int num = 10; const int *const p = # ``` 这是最严格的常量指针,`p`和`num`都不能改变。 C++的发展历程: C++是由C语言演变而来,由Bjarne Stroustrup于1983年开始设计,旨在增强C语言的功能,特别是引入了类(classes)、模板(templates)、异常处理(exceptions)、命名空间(namespaces)等面向对象编程特性。C++在C语言的基础上增加了对对象的抽象,使得程序设计更加模块化,易于复用和维护。C++的灵活性使其既能编写底层系统程序,又能进行高层应用开发,其代码执行效率接近C语言,同时具备较好的可移植性。 C语言的特点: - 结构化:C语言支持结构化编程,使程序结构清晰,易于理解和维护。 - 高级与低级语言的结合:C语言拥有丰富的运算符,包括位运算,可以进行底层数据操作。 - 可移植性:C语言编写的程序可以轻松移植到不同平台,只需要少量或无需修改。 - 语法灵活:这使得C语言既适合初学者,也适合经验丰富的程序员,但这也意味着调试可能较为复杂。 学习C++的过程中,理解`const`关键字的用法至关重要,因为它有助于编写更安全、更稳定的代码。正确使用`const`可以防止意外的修改,提高程序的可读性和可靠性。对于初学者,熟练掌握`const`的使用可能需要时间和实践,但一旦理解其工作原理,就能编写出更高效、更具通用性的程序。