C++编程禁写指针与间接引用详解

需积分: 7 1 下载量 55 浏览量 更新于2024-08-19 收藏 8.81MB PPT 举报
在C++程序设计中,谭浩强在《C++程序设计谭浩强》一书中强调了一种特殊的声明语法规则,即"禁写指针又禁写间接引用"。这种规则用于确保程序的安全性和可靠性。具体来说,当你声明一个指针变量为`const`,即`const 数据类型 *const 指针变量名`,例如`const int *const px = &x`,这样的声明意味着: 1. `px`是一个指向常量整数的指针常量,它的指向对象(在这个例子中是变量`x`)不能被修改。 2. 指针`px`自身也被标记为常量,这意味着你不能改变它的地址,即不能执行`px = ...`这样的操作。 3. 因此,试图通过`*px = ...`修改指针所指向的值也是不允许的,因为这等同于修改了常量。 在定义时,`const`指针必须在声明时初始化,这是因为编译器需要知道指针初始指向何处。这是为了防止潜在的错误,比如未初始化就尝试修改,或者试图通过常量指针改变内存状态。 C++语言的发展历程中,C++起源于C语言,最初是为了编写UNIX操作系统而设计的。C语言以其结构化、灵活性、可移植性和效率高而著名,但也存在语法不够严谨的问题,对于初学者来说学习和调试可能会有挑战。然而,C++在C的基础上增加了面向对象特性,使其成为更强大的编程语言。 C++语言的特点包括: - 结构化编程:简洁且灵活,适合大型系统和小型控制程序,甚至科学计算。 - 高级语言与低级语言结合:支持丰富的运算符,包括算术、逻辑和位操作,以及多种数据结构,使代码表达力强且高效。 - 可移植性强:编写在某一特定硬件上的程序可以轻松移植到其他平台。 - 自由度较大:允许高级程序员进行复杂的设计,但对新手而言,理解和使用可能较复杂,需要对语法规则有深入理解。 理解并遵循这样的规则有助于编写更加安全、高效的C++程序,同时减少由于意外修改不可变对象或指针引起的错误。