const关键字的几种常用用法

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_37720172/article/details/68946534

在C++中,const关键字有着举足轻重的位置。善用const可以为我们在编程过程中减少不必要的麻烦。

/*const是一个常量关键字,主要是为了防止所修饰对象被修改。
我们在定义一个变量时,如果想要防止这个变量被修改,可以
用const来修饰这个变量。也就是说,被const修饰过的变量或者
函数,不能对其进行修改,否则,编译器就会报错*/



/*用与修饰全局变量*/

#define PI1 3.14
const double PI2 = 3.14;

/*两种方式都可以用来定义全局变量。不过,第二种要比
第一种方式要好,使用宏定义的变量,其信息一般以表格
的形式储存在系统中,当我们在调试程序时,就有可能使
得这个宏定义的变量反复出现在符号表中。而const修饰
的变量会一直出现在符号表,使得我们调试方便许多。*/



/*用于修饰指针*/

const int *p1 = 100;   //常量整形指针
int *const p2 = 200;   //整形常量指针

/*常量整形指针,不能通过这个指针修改它所指向的变量,
指针本身是可变的。
整形变量指针,指针不可修改,但是指向的变量可以修改*/



/*用于表示函数的输入,输出*/

char *strcpy(char *buf,const char *str)   //将str拷贝给buf

/*由于buf是需要修改的,所以不用const修饰,而str是传递数据进来
的,并不希望进行改变,所以可以用const修饰*/

/*修饰类成员函数*/

class student {
public:
	student(int age) :_age(age) {}
	void getAge()const {      //不希望通过函数来改变类的私有变量
		_age = 100;       //错误,编译器会报警
		cout << _age << endl;
	}
private:
	int _age;
};

/*如果我们在定义一个类的成员函数时,并不希望这个函数能够改变类的
私有变量,这时我们可以使用const将这个成员函数定义为常量函数,这样,
这个函数就不能修改私有变量了。*/


展开阅读全文

没有更多推荐了,返回首页