C++面向对象程序设计:禁写指针与间接引用详解

需积分: 10 10 下载量 72 浏览量 更新于2024-08-23 收藏 8.66MB PPT 举报
"禁写指针又禁写间接引用-C++面向对象程序设计(谭浩强)——教学ppt" 这篇内容主要讨论了C++中的指针常量和常量指针的使用,特别是指针的不可变性和所指对象的不可变性。在C++中,指针可以被声明为常量,这意味着指针本身不能被改变,即不能重新赋值指向其他内存位置。同时,也可以声明指针所指的对象为常量,禁止通过指针修改该对象的值。当两者结合,即声明一个既不能改变指针也不能改变指针所指对象的语句,如`const int *const px = &x`,这表示`px`是一个指向整型常量的常量指针,它既不能改变指向(`px=`是非法的),也不能通过它修改所指对象的值(`*px=`也是非法的)。在声明这种类型的指针时,通常需要立即为其提供初始值,因为之后无法再更改。 C++由C语言发展而来,由Bjarne Stroustrup在C语言基础上添加了面向对象特性,如类、继承、多态等,从而形成了更强大的编程工具。C++保留了C语言的许多特点,包括结构化编程、丰富的运算符、高效的代码执行以及良好的可移植性。C++中的指针是其强大的特性之一,允许程序员直接操作内存,但这也带来了挑战,尤其是对于初学者,因为指针的误用可能导致难以调试的错误。 C语言以其灵活性和效率受到广泛欢迎,适合编写各种规模的程序,从操作系统到小型控制任务。它的特点是: 1. 结构化编程:C语言采用模块化的结构,有助于组织复杂的程序。 2. 高级与低级语言特性结合:丰富的运算符支持算术、逻辑和位运算,允许直接处理硬件。 3. 可移植性:C语言编写的程序可以在多种不同的计算机平台上运行,只需少量或无需修改。 4. 语法自由度:虽然这使得编程更灵活,但也增加了学习难度,特别是在调试方面。 C++在C的基础上增加了面向对象特性,如类、对象、封装、继承和多态,使得代码更易于组织和重用。此外,C++还引入了模板、异常处理和命名空间等现代编程概念,增强了语言的表达力和安全性。尽管如此,理解和正确使用指针仍然是C++编程中的关键技能之一,特别是理解如何声明和使用常量指针和指针常量,以确保代码的稳定性和安全性。