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

需积分: 0 1 下载量 147 浏览量 更新于2024-07-14 收藏 8.67MB PPT 举报
"这篇文档是关于C++编程的教程,主要涵盖了C++语言的基本概念、发展历程以及语言特性。文中列举了一些非法的C++声明,强调了C++中的引用使用规则和注意事项。" 在C++编程中,理解语言的规则至关重要,因为错误的声明会导致编译错误或产生不可预见的行为。在提供的描述中,提到了几个非法的C++声明示例,这些示例有助于我们了解C++中引用的限制: 1. **企图建立数组的引用**:`int & a[9];` 这是不允许的,因为在C++中,引用必须在声明时就初始化,并且引用一旦绑定到一个对象,就不能改变。数组是一个对象,但不是一个单独的变量,所以不能声明为引用。 2. **企图建立指向引用的指针**:`int & *p;` 这同样也是非法的。虽然C++支持指针指向指针,但不支持指针直接指向引用。你可以有一个指针指向一个变量,然后通过引用间接访问该变量,但不能有直接指向引用的指针。 3. **企图建立引用的引用**:`int & &px;` 在C++中,引用不能引用另一个引用,因为这会产生多层间接性,而C++并不支持这种层次的引用。每个引用必须直接绑定到一个具体的变量。 接下来,文档中提到了一些合法的C++引用使用: - `int m=10;` 定义了一个整型变量m,并赋值为10。 - `int &y=10;` 这是非法的,因为在C++中,引用必须引用一个实际的对象,不能直接赋值为一个字面量(如10)。 - `int &z;` 这也是非法的,因为引用必须在声明时初始化,不能声明未初始化的引用。 - `float &t=&m;` 这是合法的,创建了一个浮点型引用t,引用整型变量m。 - `int &x=m;` 合法,定义了一个整型引用x,绑定到变量m。 C++语言的发展历程显示了其从C语言逐渐演进的过程,C++保留了C语言的许多特性,同时增加了面向对象的编程概念,如类、对象、继承、多态等。C++以其强大的功能和高效性,成为了广泛应用于系统编程、应用软件开发、游戏开发等多个领域的语言。 C++的主要特点包括: 1. **结构化**:C++支持结构化编程,其语句、函数和数据结构使得代码组织清晰,易于理解和维护。 2. **混合级别**:C++既有高级语言的抽象,也有低级语言的控制,允许直接访问硬件,适合系统级编程和优化。 3. **丰富的运算符和数据结构**:C++提供多种运算符,包括位运算符,支持多种数据结构如数组、链表、树等,增强了编程灵活性。 4. **高度可移植性**:C++编写的程序可以在不同的平台上运行,只要编译器支持C++标准。 5. **松散的语法**:虽然可移植性好,但C++的语法相对宽松,对于初学者来说调试可能较为困难。 学习C++时,理解这些基本概念和限制是非常重要的,它将帮助开发者编写出高效、可读性强且易于维护的代码。通过实践和经验积累,程序员可以充分利用C++的特性来解决复杂的问题。