C++(4):const关键字
目录
一、基本用法
语法规则:
代码实例:
二、const 声明与普通变量声明的区别
示例对比:
三、const 的错误用法示例
1. 未初始化常量:
2. 尝试修改常量:
四、const 的高级用法
1. const 与指针:
2. const 与函数参数:
五、编程实践与总结
一、基本用法
语法规则:
const 数据类型 常量名 = 初始值; 
-  
作用:声明一个不可修改的常量,值在初始化后固定。
 -  
命名规范:常量名通常使用大写字母(如
MAX_SIZE),以区分变量。 
代码实例:
#include <iostream>
using namespace std;int main() {const int LENGTH = 10;    // 声明整型常量const float PI = 3.14159; // 声明浮点常量const char SEPARATOR = '-';cout << "面积: " << LENGTH * LENGTH << endl;cout << "分隔符: " << SEPARATOR << endl;return 0;
} 
二、const 声明与普通变量声明的区别
 
| 特性 | const 常量 | 普通变量 | 
|---|---|---|
| 初始化 | 必须声明时初始化 | 可声明时不初始化(先声明后赋值) | 
| 可修改性 | 不可修改 | 可随时修改 | 
| 内存分配 | 可能被编译器优化为直接替换字面值 | 分配实际内存 | 
| 用途 | 保护固定值(如配置参数、数学常量) | 存储可变数据 | 
示例对比:
int var = 5;     // 普通变量,可修改
var = 10;        // 合法const int CNST = 5; // 常量,必须初始化
// CNST = 10;       // 非法!编译报错 
三、const 的错误用法示例
 
1. 未初始化常量:
const int MAX;  // 错误:常量必须初始化
MAX = 100;       // 错误:不允许后续赋值 
2. 尝试修改常量:
const int LENGTH = 10;
LENGTH = 20;  // 错误:常量不可修改 
四、const 的高级用法
 
1. const 与指针:
 
int value = 5;
const int* ptr1 = &value;  // 指针指向的值不可变
int* const ptr2 = &value;  // 指针本身不可变(指向固定地址)
const int* const ptr3 = &value;  // 指针和值均不可变 
2. const 与函数参数:
 
void printArray(const int arr[], int size){// arr[] 在函数内不可修改,防止误操作for (int i = 0; i < size; i++) {cout << arr[i] << " ";}
} 
五、编程实践与总结
-  
优势:
防止意外修改关键数据;明确标识程序中固定不变的值;编译器可能将const常量直接替换为字面值,提升性能。-  
适用场景:
数学常量(如PI、GRAVITY)、配置参数(如MAX_USERS、TIMEOUT)、函数参数或返回值中需保护的数据。 
 -  
 -  
总结代码实例:
 
#include <iostream>
using namespace std;int main() 
{const int MAX_SCORE = 100; // 常量声明int currentScore = 85;     // 变量声明currentScore = 90;  // 合法// MAX_SCORE = 95;  // 非法!常量不可修改cout << "最高分: " << MAX_SCORE << endl;cout << "当前分: " << currentScore << endl;return 0;
}
 
输出:
最高分: 100
当前分: 90