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

需积分: 9 0 下载量 24 浏览量 更新于2024-08-19 收藏 8.66MB PPT 举报
"这篇资源是关于C++编程的,作者为谭浩强,内容摘自《C++程序设计》一书。文中强调了一些在C++中非法的声明,并简要介绍了C++语言的发展历史和主要特点。" 在C++编程中,非法声明是程序设计中的常见错误,这些错误会导致编译失败或产生不可预期的行为。以下是资源中提到的一些非法声明: 1. **企图建立数组的引用**:`int & a[9];` 在C++中,你不能创建一个引用数组,引用必须在定义时就初始化,并且总是绑定到一个特定的对象。数组本身是一组对象,所以引用不能直接用于数组。 2. **企图建立指向引用的指针**:`int & *p;` C++不允许直接创建指向引用的指针,虽然你可以有指向对象的指针,但该指针不能直接指向一个引用,而是指向被引用的对象。 3. **企图建立引用的引用**:`int & &px;` 引用已经是一个间接访问对象的方式,不能再对其创建引用,即引用不能被引用。一旦引用被定义,就不能改变它所引用的对象。 接着,资源提到了几个合法但可能引起混淆的声明: - `int m=10;` 这是声明一个整型变量m并将其初始化为10。 - `int &y=10;` 这种声明在C++中是非法的,因为引用必须总是引用一个实际的对象,而10是一个字面值,不是对象。 - `int &z;` 未初始化的引用是非法的,必须在声明时就绑定到一个对象。 - `float &t=&m;` 这是合法的,创建了一个浮点型引用t,它引用了整型变量m。 - `int &x=m;` 合法的,x是一个引用,引用了整型变量m。 接下来,资源简述了C++语言的发展历史,它源自C语言,由贝尔实验室的Dennis Ritchie和Brian Kernighan开发,后来由Bjarne Stroustrup扩展成为C++,增加了面向对象的特性。C++保留了C语言的大部分语法和效率,同时引入了类、模板、异常处理等高级特性。 C语言的主要特点包括: 1. **结构化编程**:C语言采用结构化编程方法,支持函数和数据结构,使得程序结构清晰,易于理解和维护。 2. **高级与低级语言的结合**:C语言拥有丰富的运算符,包括高级语言的算术逻辑运算和汇编语言的位运算,提供了灵活的数据处理能力。 3. **良好的可移植性**:C语言编写的程序可以轻松移植到不同平台,因为它的编译器是针对特定平台的,但核心语言是跨平台的。 4. **自由度高的语法**:C语言的语法结构相对宽松,给予程序员较大的设计自由度,但也因此对初学者来说,理解和调试程序可能更具挑战性。 理解并避免非法声明是C++编程的基础,同时,熟悉C++的历史和特性有助于更好地学习和使用这一强大的编程语言。