c++之const常量与指针

    当需要某个变量的值不能被改变时,可以用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;
}
发布了132 篇原创文章 · 获赞 175 · 访问量 15万+

猜你喜欢

转载自blog.csdn.net/c_shell_python/article/details/98525862