代码改变世界

c++ const修饰符用法

2009-05-02 16:56  cesc711  阅读(485)  评论(0编辑  收藏  举报

1.const修饰变量:说明该变量的值是不可更改的。并且const常量有数据类型检查,宏只进行简单的字符替换,没有类型安全检查。
2.const修饰类数据成员:const类型的数据成员只在该对象生存期内是不可变的,而对于整个类来说是可变的。所以不能在类声明中初始化const数据成员,因为类的对象未被创建时,编译器不知道const数据成员的值是什么。const数据成员的初始化只能在构造函数的初始化列表中进行。
3.const修饰指针:const在*左边,表示指针指向为常量。const在*右边,表示指针本身为常量。
4.const在函数声明中的应用:const通常用于参数为指针或引用的情况,对所传入的参数起保护作用。若是值传递方式,则函数会产生临时变量用于复制该参数,则不需要const修饰。对于非内部数据类型的参数,应该将值传递改为const 引用传递,这样可以提高效率。对于内部数据类型的参数,则不需要,否则既不能提高效率,又降低了可理解性。