C++中const的作用
2013-01-14 20:54
190 查看
在C++中,const关键字可以用来修饰变量,从而使普通变量变成常量。但在这变量之中,有一个变量有点特别,就是指针变量,这个时候,const所在的位置就会产生不一样的效果,例如:const int* a和int *const a就有不一样的含义。这个时候,有一个很好的方法来区别这两种写法的作用。就是以*为分界点,看const在*的左边还是在右边。如果在左边,就是第一种情况,这时,const离指针变量名a与*相比更远,则说明这个指针变量的作用是指向一个常量,并且不可以通过这个指针来修改所指向的变量值(这是常量本身的要求)。
当const在右边时,就是第二种情况,此时const与*相比,const离指针变量名a更近,所以这个指针变量名是一个常指针。即指向一个固定变量,不可以再指向其他的变量。但是可以通过这个指针来修改所指变量的值。这个方法同样适用于&(引用)这个运算符。
const修饰函数时,修饰形式参数时,与上同理。这里着重讨论修饰函数,当在函数的参数表之后加上const之后,形如void size()const;。就说明这个函数是一个访问函数,而不是修改函数。关于访问函数和修改函数,不管是面向过程设计程序还是面向对象设计程序都适用。访问函数的意思就是说在这个函数里面是不会修改所传参数的值,仅仅访问所传参数的值,这个特性在类的设计中很有作用。当const在函数声明最前面时,经常和引用一起连用,来表明返回值是不可修改的。不与引用一起用时,是没有意义的。
当const在右边时,就是第二种情况,此时const与*相比,const离指针变量名a更近,所以这个指针变量名是一个常指针。即指向一个固定变量,不可以再指向其他的变量。但是可以通过这个指针来修改所指变量的值。这个方法同样适用于&(引用)这个运算符。
const修饰函数时,修饰形式参数时,与上同理。这里着重讨论修饰函数,当在函数的参数表之后加上const之后,形如void size()const;。就说明这个函数是一个访问函数,而不是修改函数。关于访问函数和修改函数,不管是面向过程设计程序还是面向对象设计程序都适用。访问函数的意思就是说在这个函数里面是不会修改所传参数的值,仅仅访问所传参数的值,这个特性在类的设计中很有作用。当const在函数声明最前面时,经常和引用一起连用,来表明返回值是不可修改的。不与引用一起用时,是没有意义的。
相关文章推荐
- const 修饰符在C/C++中的作用
- c++ const关键字至少有下列n个作用
- C++ 中 const 和 static 的作用
- const在C++中的作用
- C++中const的作用
- C++成员函数末尾const关键字的作用
- c++中const的作用- -
- C++:在成员函数后面放const的作用
- C++ 笔记_类的成员函数以及const的作用
- c++ 函数后面 const 作用
- c++中const的作用
- C/C++中Static和Const的作用
- c++中const的作用
- C++中static、const、static const修饰变量作用详解(转)
- 【ThinkingInC++】40、论const对函数返回值的作用
- const在c++中的作用总结
- C++ const作用于指针和迭代器
- c/c++ 友元函数友元类,及const作用
- c++中const的作用
- C++中const在不同对象不同位置中的作用(转)