C++程序设计:禁写指针与间接引用解析

需积分: 16 0 下载量 71 浏览量 更新于2024-08-19 收藏 8.66MB PPT 举报
"禁写指针又禁写间接引用-c++谭浩强配套ppt" 这篇资料主要介绍了C++中关于指针常量和常量指针的高级用法,特别是禁写指针及其间接引用的概念。在C++中,指针可以被声明为常量,这意味着指针本身不能被改变,指向的内存地址不能被修改;同样,也可以声明一个指针所指向的对象为常量,不允许通过指针修改该对象的值。当这两种情况结合在一起时,我们得到了一个既不能改变指针值也不能改变其指向对象值的声明方式。 具体来说,声明语句`const 数据类型 *const 指针变量名`表示指针变量名是一个指向常量的常量指针,这意味着`px`这个指针变量是常量,不能重新赋值以指向其他内存地址,同时`px`所指向的对象也是常量,无法通过`*px`进行修改。例如,声明`const int *const px = &x`,这里`px`不能被赋值为其他地址(`px=`非法),同时`*px`也不能被赋新值(`*px=`非法)。这种声明在定义时通常需要立即初始化,因为之后无法改变其值。 此外,资料中还提到了C++语言的发展历程。C++是基于C语言发展起来的,它吸收了BCPL和B语言的特性,由Dennis Ritchie和Brian Kernighan等人设计,最初用于编写UNIX操作系统。C++进一步完善了C语言,引入了面向对象编程特性,如类、继承、多态等,使得程序设计更加模块化和高效。 C语言的特点包括: 1. 结构化:C语言是一种结构化编程语言,其简洁的语法和灵活性使得它可以用于大型系统程序和小型控制程序的编写。 2. 高级与低级特性结合:C语言具有丰富的运算符,包括算术、逻辑和位运算,提供了类似于汇编语言的底层操作能力。 3. 可移植性:C语言编写的程序可以在不同平台之间轻松移植,只需少量或无需修改。 4. 语法自由度大:这使得熟练的程序员可以写出高效的代码,但也增加了学习和调试的难度,尤其是对初学者来说。 C++中的`const`关键字允许程序员在编写代码时更好地控制变量和指针的可变性,提高程序的安全性和稳定性。而C语言作为C++的基础,以其高效、灵活和高度可移植的特性,成为了程序员广泛使用的编程语言之一。