C++编程:非法声明解析

需积分: 10 7 下载量 187 浏览量 更新于2024-08-19 收藏 8.66MB PPT 举报
"这篇文档是《C++程序设计》的一部分,由谭浩强编著,主要介绍了C++语言的基本概念和特点。文档中特别提到了一些在C++中非法的声明,例如数组的引用、指向引用的指针以及引用的引用,并给出了相关示例。此外,还简单回顾了C++语言的发展历史及其与C语言的关系,强调了C语言的主要特点,如结构化、高效性、可移植性和较强的灵活性,同时也指出C语言的学习曲线相对较陡峭。" 在C++编程中,有一些声明是不合法的,这些声明包括: 1. **企图建立数组的引用**: 在C++中,你不能创建一个引用类型的数组。例如,`int &a[9];` 是不允许的,因为引用必须在声明时就初始化,并且不能指向数组。如果需要处理数组,你应该使用指针。 2. **企图建立指向引用的指针**: C++不支持直接声明指向引用的指针。例如,`int &*p;` 这样的声明是非法的。你可以声明一个指向变量的指针,然后让这个指针指向一个引用,但不能直接声明一个指针来存储引用的地址。 3. **企图建立引用的引用**: 引用本身已经是一个别名,它不能被再次引用。所以,声明像 `int & &px;` 这样的引用的引用是不合法的。如果你需要一个可以改变引用的变量,应该使用指针。 文档中还提到C++语言的发展历程,它是从C语言发展而来,C++在C的基础上增加了面向对象的特性,如类、继承、多态等,使得它成为一个更加强大的编程工具。C语言的主要特点包括: 1. **结构化**:C语言是一种结构化的编程语言,它的控制结构(如if-else、while、for)使得程序结构清晰,易于理解和维护。 2. **灵活性与效率**:C语言结合了高级语言和汇编语言的特点,提供丰富的运算符,包括位运算,这使得它既适合编写大型系统软件,也适合编写小型控制程序,并且运行效率高。 3. **可移植性**:C语言编写的程序可以在不同平台之间轻松移植,只要目标系统有对应的C编译器。 4. **语法自由度**:虽然这使得C语言对于初学者来说可能更具挑战性,但对于经验丰富的程序员来说,它可以实现高度灵活的编程风格,设计出高效且通用的代码。 然而,C语言的这种灵活性也可能导致语法错误难以察觉,调试程序通常比其他高级语言更为复杂。尽管如此,一旦熟悉了C语言的规则,编写和调试程序就会变得相对容易。