const用法荟萃(二)

(1)指向常量的指针(指针指向一个不可变量)
指针在指向有一个常量后,不能通过指针修改这个常量,但是可以指向一个新的常量,例如:
Const char *pc=”ABCD”;
Pc[3]=’a’;不合法,企图修改原来指向的常量
Pc=“WERT”;合法指向另外一个常量

(2)常指针
要把指针变量中的值(也就是地址)声明为常量,采用以下语法:
<类那些>*const<指针名>[=<初值>;]
这样定义的指针变量中存放的指针是个常量,称为常指针。定义后,该指针指向固定的内存单元,不能再指向其他内存单元,通过它可以修改所指单元里存放的内容。例如:
Char *const pc=”ABCD”;
Pc[3]=’a’;合法,指针指向的对象可以修改
Pc=”QWER”;不可以,指针的指向不可以修改

(3)指向常量的常指针
指针变量中存放的指针本身和指针所指向的对象都是不可以改变的。
例如:
Const char *const pc=”ASDF”;
Pc[3]=’a’;不合法,不能改变指针所指对象的值
Pc=”QWER”;不合法,不能改变指针的指向


三、Const说明函数参数和返回值
用const限定函数参数和返回值,是const最重要的用法。
用const修饰函数参数意味着传过来的实参在函数中是不能被修改的。
一般情况下不需要,但是在用指针和引用传值的场合,为避免实参被修改,就用const修饰,更安全。
修饰函数的返回值,意味着该返回值不能被修改。
如果传值并返回地址,const将保证该地址上的内容不会被改变。
这就意味着该函数不能作为左值使用,在这种情况下,const通常也是与引用和指针一起使用的。

四、类中的const
1.	常成员的函数
2.	常数据成员
3.	常对象

百度小贴:
class A
{
  Bool fa(const A&a);
  const A&fb(int i);
  void fc() const;
}
1. Bool fa(const A& a); 这里的const是说明变量a在函数Bool fa(const A& a)内不能被修改。
2. const A& fb(int i); 这里是说函数const A& fb(int i) 的返回值不能被修改
3. void fc() const; 这个是说函数void fc()其内部不能修改变量。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值