C++中的&和*运算符详解

需积分: 10 0 下载量 14 浏览量 更新于2024-08-24 收藏 3.36MB PPT 举报
"谭浩强C++教程详细解释了C++中的‘&’和‘*’运算符。这两个运算符在C++中扮演着重要的角色,尤其在处理指针时。‘&’运算符用于获取变量的地址,而‘*’运算符用于解引用指针,访问存储在指针所指向的内存位置的值。当‘&’和‘*’一起使用时,它们的优先级相同,但结合方向是从右到左。因此,表达式`&*pointer_1`首先执行`*pointer_1`,这会得到`pointer_1`所指向的变量的值,然后取这个值的地址,结果等同于`&a`。这说明`&*pointer_1`和`&a`的效果是一样的,都返回变量`a`的地址。 在描述中提到了一个示例,假设`pointer_1`已经指向了变量`a`,即`pointer_1 = &a`。那么,`pointer_2 = &*pointer_1`会将`a`的地址赋给`pointer_2`。这会导致`pointer_2`不再指向原来的变量,转而指向`a`。这种操作在需要改变指针指向时非常有用。 在C++的上下文中,了解这些运算符是至关重要的,因为它们在处理指针和内存管理时发挥着核心作用。C++是一种支持面向过程和面向对象编程的混合型语言,从C语言发展而来,并在其基础上添加了面向对象的特性,如类和对象、继承和多态性等。C++的设计使得程序员能够根据需求选择合适的编程范式,从而提高代码的可维护性和效率。 C++程序设计的学习通常包括以下几个部分: 1. 基本知识:涵盖C++的基础概念,如程序结构、数据类型和表达式。 2. 面向过程的程序设计:讲解如何通过函数和预处理来组织和控制程序流程。 3. 基于对象的程序设计:引入类和对象的概念,以及如何使用它们来封装数据和行为。 4. 面向对象的程序设计:深入探讨继承、派生、多态性和虚函数,这些都是OOP的核心特性。 5. 输入输出流:学习如何进行标准输入输出和文件操作。 6. C++工具:介绍其他辅助的C++特性,如异常处理、模板和STL(Standard Template Library)。 C++的起源和发展也值得一提,它从C语言演变而来,由Bjarne Stroustrup博士创建,旨在提供一种更强大、更灵活的编程工具,特别适合大型软件项目的开发。C++的面向对象特性使得软件开发更加模块化,有助于提高代码复用和团队协作效率。" 以上信息详细阐述了C++中的`&`和`*`运算符,以及它们在指针操作中的应用。同时,还介绍了C++语言的起源、发展和其面向对象编程的特点,以及C++程序设计的基本框架。