C++编程:volatile、static、const与extern深度解析
需积分: 0 40 浏览量
更新于2024-08-03
收藏 1.56MB PDF 举报
"C++学习笔记,自写自用"
这篇学习笔记主要涵盖了C++编程语言中的一些关键概念,包括volatile、static、const和extern这四个关键字的使用和含义。
1. Volatile:
`volatile` 关键字用于标记一个变量,表示其值可能会在编译器未察觉的情况下发生变化,例如在多线程环境中或被硬件中断更新的变量。使用`volatile`后,编译器不会对这类变量进行优化,每次访问都会从内存中读取最新值,确保了程序的正确性。
2. Static:
- 局部变量:`static` 修饰的局部变量在程序运行期间只被初始化一次,并且在整个程序运行期间都保持其值,即使函数退出也不会消失。下次再次调用同一函数时,会使用上次的值,但只能在该函数内部访问。
- 全局变量:当`static` 用于全局变量时,限制其作用域仅限于当前源文件,其他源文件无法直接访问,除非使用`extern`声明。
- 函数:`static` 修饰的函数成为静态成员函数,它不与类的任何特定实例关联,而是属于类本身。这意味着静态成员函数不能访问类的非静态成员变量,除非通过对象实例来访问。
3. Const(常量限定符):
`const` 用于声明常量,表明变量一旦赋值后就不能修改。
- 常量和数组:`const` 可以放在类型前面或后面声明常量,其区别在于它修饰的是变量还是指针所指向的值。
- const 指针:`const` 放在星号*的左侧,意味着指针所指向的数据不可修改;放在右侧,表示指针变量本身是常量,不能改变其指向。
- 在函数中使用:
- 作为参数:传递给函数的`const` 参数可以保护原始对象不被函数内部修改。
- 作为返回值:返回`const` 对象或指针,接收者不能修改返回的值。
- 类中的`const`:
- `const` 数据成员必须在类的构造函数初始化列表中初始化。
- 常量对象只能调用常量成员函数,不能调用非`const` 成员函数。
4. Extern:
`extern` 关键字用于指示变量或函数是在其他地方定义的,并在此处声明以便引用。声明的位置影响其作用域,如在`main` 函数中声明`extern` 变量,只能在`main` 函数内部使用。
这些关键字在C++编程中扮演着重要的角色,理解它们的用法有助于编写出更加高效、安全的代码。学习者应通过实践和深入研究来掌握这些概念,以提升C++编程技能。
2023-05-16 上传
2023-05-28 上传
2023-08-29 上传
2023-05-28 上传
2023-08-23 上传
2023-09-04 上传
liuere
- 粉丝: 12
- 资源: 3
最新资源
- JHU荣誉单变量微积分课程教案介绍
- Naruto爱好者必备CLI测试应用
- Android应用显示Ignaz-Taschner-Gymnasium取消课程概览
- ASP学生信息档案管理系统毕业设计及完整源码
- Java商城源码解析:酒店管理系统快速开发指南
- 构建可解析文本框:.NET 3.5中实现文本解析与验证
- Java语言打造任天堂红白机模拟器—nes4j解析
- 基于Hadoop和Hive的网络流量分析工具介绍
- Unity实现帝国象棋:从游戏到复刻
- WordPress文档嵌入插件:无需浏览器插件即可上传和显示文档
- Android开源项目精选:优秀项目篇
- 黑色设计商务酷站模板 - 网站构建新选择
- Rollup插件去除JS文件横幅:横扫许可证头
- AngularDart中Hammock服务的使用与REST API集成
- 开源AVR编程器:高效、低成本的微控制器编程解决方案
- Anya Keller 图片组合的开发部署记录