const 的用法

const 常类型是指使用类型修饰符 const 说明的类型,常类型的变量或对象的值是不能被更新的。

const 的使用:

1. 定义常量

  (1)const修饰变量,以下两种定义形式在本质上是一样的。它的含义是:const修饰的类型为TYPE的变量value是不可变的。

           TYPE const ValueName = value;

           const TYPE ValueName = value;

           即常变量,只能读,没有写权限,不能作为左值被修改。

          (注:a. 数据类型对于 const 是透明的,例如 const int a = 100; 等同于 int const a = 100;

                     b. 常变量必须被初始化,例如 const int b;这个语句是错误的。)

  (2)将const改为外部连接,作用于扩大至全局,编译时会分配内存,并且可以不进行初始化,仅仅作为声明,编译器认为在程序其他地方进行了定义.

           extend const int ValueName = value;

2. 指针使用 const

  (1)指针本身是常量不可变

           (int*) const p; 

           const (int*) p;

  (2)指针所指向的内容是常量不可变

           const (int) *p; 

           (int) const *p;

  (3)两者都不可变

           const int* const p;

  (4)还有其中区别方法,沿着*号划一条线:

           如果const位于*的左侧,则const就是用来修饰指针所指向的变量,即指针指向为常量;

           如果const位于*的右侧,const就是修饰指针本身,即指针本身是常量。


   例:

        a. const int *cp1 = &a;

            cp1 = &b;  //ok          *cp1 = 1000;  //error

        b. int const *cp2 = &a;       //等同于a

            cp2 = &b;  //ok          *cp2 = 1000;  //error

        c. int * const cp3 = &a;

            cp3 = &b;  //error          *cp3 = 1000;  //ok

        d. const int * const cp4 = &a;

            cp4 = &b;  //error          *cp4 = 1000;  //error 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值