c++ const修饰符用法

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

今天在书上看到的自定义vector类中对[ ]的重载就如同上面的例子。
除了这个,还有:

上面是自定义了两个迭代器,一个是const一个是非const,如果返回值为const_iterator的话,也就意味着不能出现



之所以把以前blog上的文章转过来,是因为今天看书的时候,碰到了const成员函数,一时不知道是什么意思了。所以把我目前所知的const的用法集中一下,也算是个巩固。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值