C++编程:volatile、static、const与extern深度解析
需积分: 0 81 浏览量
更新于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++编程技能。
2011-03-12 上传
2023-11-13 上传
2011-10-07 上传
2023-11-13 上传
2021-05-14 上传
2021-06-29 上传
liuere
- 粉丝: 12
- 资源: 3
最新资源
- 前端协作项目:发布猜图游戏功能与待修复事项
- Spring框架REST服务开发实践指南
- ALU课设实现基础与高级运算功能
- 深入了解STK:C++音频信号处理综合工具套件
- 华中科技大学电信学院软件无线电实验资料汇总
- CGSN数据解析与集成验证工具集:Python和Shell脚本
- Java实现的远程视频会议系统开发教程
- Change-OEM: 用Java修改Windows OEM信息与Logo
- cmnd:文本到远程API的桥接平台开发
- 解决BIOS刷写错误28:PRR.exe的应用与效果
- 深度学习对抗攻击库:adversarial_robustness_toolbox 1.10.0
- Win7系统CP2102驱动下载与安装指南
- 深入理解Java中的函数式编程技巧
- GY-906 MLX90614ESF传感器模块温度采集应用资料
- Adversarial Robustness Toolbox 1.15.1 工具包安装教程
- GNU Radio的供应商中立SDR开发包:gr-sdr介绍