当需要某个变量的值不能被改变时,可以用const关键字修饰变量的类型。如const int bufSize=1024。这时候bufSize就是一个常量,所有试图修改bufSize值的行为都是不被允许的。而且编译器在编译的过程中,会把用到bufSize变量的地方全部替换为1024,下面总结一下const关键字的一些性质和应用场景。
1、const修饰的对象必须被初始化
const int num; //错误,const常量必须初始化
const int num=5; //正确
2、const修饰的对象是常量,初始化后便无法修改
const int num=5;
num=10; //错误
3、const int num=5与int const num=5,写法不同,但效果一样
4、const修饰的指针是常量指针,不能用于修改其所指对象的值。但是指针的指向可以变化。
char c='C';
char a = 'A';
const char *p = &a;
*p = 'B'; //错误,无法修改a的值为'B';
p=&c; //正确
5、const可用于修饰函数形参,防止传入的引用或者指针 被函数内部修改
#include <iostream>
using namespace std;
int sub(const int &a,const int &b) //修饰形参
{
//a=100; //错误,不可修改形参的值
int result = a + b;
return result;
}
int main()
{
int num_a = 10;
int num_b = 12;
cout << sub(num_a, num_b) << endl; //输出22
return 0;
}