Const相关

2016-03-23  本文已影响42人  erbai
含义:
  1. 表示常量不可以修改的变量
  2. 可以修饰参数,作为输入参数
  3. 修饰函数,防止意外的改动
  4. 修饰类的成员函数,不改变累中的数据成员

const 要求他所修饰的对象为常量,不可被改变,不可被赋值,不可作为左值(l-value)

 char *const p  修饰p p是不可变的 p是指向char * 的指针
 const char *p     修饰*p *p不可变 P可变

例:

      int a = 248
      b = 4
      int const c = 21;
      const int *d  = &a
      int *const e = &b
      int const *f const = &a
      // 下列表达式不能通过编译器编译
      d = &b    // 可以改变地址 
      *d = 43  // *d 是指向常量的指针 不能改变数据
      *e = 44    // 可改变内容  即*e
      e = &a    // e 是const 不能改变地址 
      f = 0x3423f   // 地址和数据都不可变

总结:const 在数据类型前面 表示为常量,不可再次赋值改变数据,可以改变地址。而const在数据类型之后,表示可改变数据但是不能改变地址,不能变更指针指向。

上一篇下一篇

猜你喜欢

热点阅读