常量对象
今天学习了一下c++的常量,单独的常量通常很容易理解,无非是定义的变量初始化后不允许修改,但和指针引用结合起来就比较难理解了,下面是根据C++primer写的一些测试,算是自己对const的理解;
在实际应用中,指向const对象的指针常用在函数的形参,例如
cpp 代码
- int strcmp(const char * str1,const char * str2)
这样被传递给函数的实际对象在函数中不会被修改
cpp 代码
- #include <iostream.h></iostream.h>
- void main(){
- int i =-1;
- const int ic = i;
- const int * pic = &i;//pic指向一个const对象
- // int * const cpi = ⁣//cpi是一个常量指针,但所指向的对象可以改变,但是ic不可改变所以赋值错误
- const int *const cpic= ⁣
- // ic = i;//常量对象不能被重新赋值
- pic = ⁣//*pic是一个常量对象,但pic不是一个常量对象,可以被重新赋值
- // cpi = pic;//常量指针不能被重新赋值
- pic = cpic;
- // cpic = ⁣//常量指针不能被重新赋值
- // ic = *cpic;//常量对象不能被重新赋值
- const double minWage = 9.8;
- const double *pt;
- pt = &minWage;
- double dValue = 4.5;
- pt = &dValue;
- dValue = 3.67;
- cout<<*pt<
- }