C++中const的作用

来源:互联网 发布:微信js接口安全域名 编辑:程序博客网 时间:2024/06/01 07:44

在C++中,const关键字可以用来修饰变量,从而使普通变量变成常量。但在这变量之中,有一个变量有点特别,就是指针变量,这个时候,const所在的位置就会产生不一样的效果,例如:const int* a和int *const a就有不一样的含义。这个时候,有一个很好的方法来区别这两种写法的作用。就是以*为分界点,看const在*的左边还是在右边。如果在左边,就是第一种情况,这时,const离指针变量名a与*相比更远,则说明这个指针变量的作用是指向一个常量,并且不可以通过这个指针来修改所指向的变量值(这是常量本身的要求)。

当const在右边时,就是第二种情况,此时const与*相比,const离指针变量名a更近,所以这个指针变量名是一个常指针。即指向一个固定变量,不可以再指向其他的变量。但是可以通过这个指针来修改所指变量的值。这个方法同样适用于&(引用)这个运算符。

const修饰函数时,修饰形式参数时,与上同理。这里着重讨论修饰函数,当在函数的参数表之后加上const之后,形如void  size()const;。就说明这个函数是一个访问函数,而不是修改函数。关于访问函数和修改函数,不管是面向过程设计程序还是面向对象设计程序都适用。访问函数的意思就是说在这个函数里面是不会修改所传参数的值,仅仅访问所传参数的值,这个特性在类的设计中很有作用。当const在函数声明最前面时,经常和引用一起连用,来表明返回值是不可修改的。不与引用一起用时,是没有意义的。

原创粉丝点击