C++程序设计基础-谭浩强经典讲解

需积分: 10 1 下载量 126 浏览量 更新于2024-08-24 收藏 8.66MB PPT 举报
"直接访问-谭浩强经典C++." 在编程世界中,C++是一种强大的、面向对象的编程语言,它的基础部分源自C语言。直接访问和间接访问是C++中处理变量值的重要概念,这些概念对于理解C++内存管理和指针的操作至关重要。 1、直接访问 直接访问是指直接通过变量名来存取变量的值。在C++中,当我们声明一个变量,例如`int i`,并在程序中使用`cin >> i`,实际上是将输入的值存储到`i`所分配的内存地址中。这种访问方式是最基础的,我们直接操作变量本身,无需考虑其内存地址。 2、间接访问 间接访问则是通过指针来访问变量。在C++中,我们可以创建一个指针变量,如`int *p`,并将变量`i`的地址赋值给`p`,即`p = &i`。这样,`p`就成为了`i`的地址,通过`*p`可以访问并修改`i`的值。这种机制使得我们可以动态地改变要操作的变量,增强了程序的灵活性。 指针是C++中的一个重要特性,它允许我们直接操纵内存。一个变量的地址称为该变量的指针。在程序中定义变量或数组时,它们的地址(即指针)会立即确定为常量。例如,如果我们有变量`i`,其内存地址可能为`2000H`,然后我们定义一个指针`p`,赋值`p = &i`,那么`p`现在指向`2000H`,如果`i`的值改变,例如变为`3000H`,`p`仍然保持对`i`的引用,即`p`的值仍然是`2000H`。 C++语言的发展历程表明,它从早期的BCPL和B语言演化而来,由Dennis Ritchie和Brian Kernighan在C语言的基础上进行了扩展和改进,形成了现在的C++。C++在保留C语言的高效性的同时,引入了类、对象和模板等面向对象的概念,以及异常处理和命名空间等现代编程特性。 C++的特点包括: 1. 结构化:C++支持结构化编程,使代码组织清晰,易于理解和维护。 2. 高级和低级语言的结合:丰富的运算符,包括位运算,允许程序员进行底层数据操作,同时保持高级语言的抽象性。 3. 可移植性:C++编写的程序可以在不同平台之间轻松移植,只需很少或无需修改。 4. 自由度:C++的语法结构相对宽松,允许程序员有较大的设计自由度,但这也意味着调试和学习曲线可能会更陡峭。 C++中的直接访问和间接访问是编程的基础,而指针的使用是C++的精髓之一。理解这些基本概念对于编写高效的、可移植的C++代码至关重要。通过深入学习和实践,即使是初学者也能逐渐掌握这些技巧,从而编写出高质量的C++程序。