C++中const的使用

1)const 修饰全局变量:(倘若定义的全局变量值不需改变,用const来修饰是个好的习惯)

例如:

const  int value =1;//也可以写成int const value =1;形式

       同样,也可以是使用define

例如:

#define VALUE 1

//相较于使用define,const的优势在于,编译器并不为const 常量分配存储空间,而是将其保存在符号表中,故没有存储和读内存的操作,提高了效率;const修饰的量有数据类型,可以对const进行类型安全检查;

//相较于使用const的优势,#define可以对类型进行封装,使用起来更灵活

例如:

#define  MYINT  int

还有第三种形式,就是使用枚举类型:

例如:

enum  open_code{ value =1};//这种形式等价于 const int value =1;

2)const修饰局部变量:

例如:

int func()
{
     const int value=1;
}

3)const修饰指针变量:

a.指针常量

例如:

char* const ch;      //const修饰ch,故ch指针不能再指向别处,例如ch++;(错误)

b.常量指针

例如:

const char* ch;      //const修饰*ch,故*ch不能再变化,例如*ch++;(错误)

4)const 在函数参数中使用

例1:

int func(const char* ch)
{
}

//*ch 的作用域在函数内部,故*ch的内容不会被改变,即实参的内容不会被改变;此时const的作用,就是保证实参不会被函数内改变值。

例2:

int func(char* const ch)
{
}

//同例1类似,ch是指针,此时ch++;是不允许的,即在函数内部指针不会重新指向新的变量,对于实参来说,实参指针也不会重新指向新的变量;

5) const修饰函数返回值

例如:

const char* func()
{
     return ch;
}

const char* type  =func();//此时必须要添加const,因为函数的返回值是个const

注意:一个常量只能赋给一个常量;例如5)中的形式

但是一个变量却可以赋给一个常量;例如4)中函数的实参可以是常量:

形如:

char* str =”hello world”;
func(str);

总结:const 使用是为了使错误在编译的时候就被发现,而不至于等到程序执行时发生意想不到的错误。


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值