const关键字的几种常用用法

【const关键字的几种常用用法】在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将这个成员函数定义为常量函数,这样, 这个函数就不能修改私有变量了。*/



    推荐阅读