C++ const关键字的使用和常见场景
168 浏览量
更新于2024-09-01
收藏 80KB PDF 举报
C++中const用法小结
C++中的const关键字是一种语义约束,允许程序员告诉编译器某个值是保持不变的。const的使用可以获得编译器的帮助,从而确保程序的正确性和可靠性。
1. const与变量
const变量(对象)不能被修改,基本原则是const修饰一个变量(或者说对象),使其变成一个常量,表示该变量的值无法再被修改。const变量的使用可以避免魔数的出现,让代码变得更加清晰易懂。
例如,在循环中使用const变量可以明确循环的范围:
```c
const int length = 512;
for (int i = 0; i < length; i++) {
// todo
}
```
在上面的代码中,length是一个const变量,表示循环的范围是固定的,不能被修改。
1.1 const修饰一个变量(或者说对象),使其变成一个常量,表示该变量的值无法再被修改。正因为如此,所以定义一个常量的时候,必须初始化。
例如:
```c
const int val = 1024;
```
在上面的代码中,val是一个const变量,表示其值是1024,不能被修改。
1.2 const常量的作用域:
在全局作用域内声明一个const变量,默认不是extern修饰的,所以其只能作用于本文件内,若要在其他文件中访问,需要显式声明为extern。
例如:
```c
// file1.cpp
const int global_val = 1024;
// file2.cpp
extern const int global_val;
```
在上面的代码中,global_val是一个const变量,在file1.cpp中声明,在file2.cpp中访问需要显式声明为extern。
2. const与引用
基本原则:const引用是指向const变量(对象)的引用。
例如:
```c
const int ival = 1024;
const int &refVal = ival;
```
在上面的代码中,refVal是一个const引用,指向ival这个const变量。
2.1 const引用可以指向一个相关类型(不是本类型)的const变量。
例如:
```c
double dval = 3.14;
const int &refVal = dval;
```
在上面的代码中,refVal是一个const引用,指向dval这个double类型的变量。编译器将double转换成一个临时的int对象,然后让const引用绑定到这个临时对象。
const关键字在C++中的使用可以提高代码的可读性和可靠性,避免魔数的出现,明确变量的作用域和生命周期。
2012-03-26 上传
2015-09-26 上传
2010-05-20 上传
2021-01-20 上传
2009-04-12 上传
2010-10-27 上传
2009-02-22 上传
2020-12-25 上传
2020-12-20 上传
weixin_38633157
- 粉丝: 5
- 资源: 968
最新资源
- Testing-React-Practice
- ADS1292R_stm32ads1292r_ads1292rSTM32_ads1292r_ADS1292R基于STM32的驱动
- 项目
- musicExtractBackend:音乐提取服务的后端
- jsblocks.I18n:jsblocks 框架的小型 I18n 扩展
- Postman-Plot
- Library-Management-System:具有PHP和MySQL的图书馆管理系统
- Python库 | python-ffmpeg-video-streaming-0.0.11.tar.gz
- 预算跟踪器
- Brightnest:家庭自动化系统
- 毕业设计&课设--仿京东商城毕业设计.zip
- BathtubFunctionFit:用于估计第四个多项式函数的参数的Python脚本。 此功能通常用于在等温线种群建模中内插有关死亡率对温度的依赖性的数据
- react-fullstack-boilerplate:沸腾板
- Excel模板考试日程安排表.zip
- rbf_pidtest_matlab
- SimplyCoreAudioDemo::speaker_high_volume:SimplyCoreAudio演示项目