C++程序设计基础-谭浩强经典讲解
下载需积分: 10 | 8.66MB |
更新于2024-08-24
| 122 浏览量 | 举报
收藏
"直接访问-谭浩强经典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++程序。
相关推荐



















深井冰323
- 粉丝: 32
最新资源
- 探索以太坊合约与超流体协议的集成
- 以太坊宠物店开发教程与智能合约测试
- AviUtl-Waifu2x-CPU插件:优化图像的CPU处理技术
- 用HTML/CSS/JS构建的猜谜游戏:探索与互动的乐趣
- CRFTagger:开源英语词性标注器,准确率高达97%
- Google CloudEvents类型与架构定义详解
- Docker演示:带有Node.js的简单HTML页面构建教程
- WorkshopManager: Steam Workshop Mod管理的CLI解决方案
- Node.js打造书籍下载器的实战教程
- 深入解析区块链技术:从哈希函数到链式结构
- 浏览器端解析YAML插件jq-yaml的创建与使用
- Floccus: 浏览器间书签同步的解决方案
- 使用React, Redux和Redux-form创建响应式表单应用
- SushiData工具:SushiSwap数据查询与分析
- 开源人工智能知识库PDKB深度解析
- 个人博客回顾:2019年以来的学习与分享总结
- arknos: 探索智能操作系统界面与开源任务管理器
- 动态RSS提要阅读器及Jasmine测试套件应用
- GitHub静态站点搭建与博客数据管理
- Odoo社交ERP新组件:增强消息传递与电子邮件管理
- React项目实战指南:代码优化与环境配置
- Docker快速入门指南与GitHub博客部署
- qqplotr包扩展ggplot2:绘制QQ和PP图的新功能
- r-spatial.org博客资源解析与操作指南
