const变量、const指针、const参数、const对象、const成员函数

const关键字是“constant”的缩写,意为永恒不变的,以下列举const的作用:
    1.const变量    
     
const int a =1;
     int const a =1;

    为防止定义的变量被修改,可用const修饰变量,const放在前面或后面均可,效果等同。const变量即为常量,const变量定义的时候必须初始化。const变量与符号常量的区别(1)符号常量由预编译器处理,const变量由变量处理(2)在编译是符号常量已经不存在了,而const变量依然存在(3)符号常量的作用域从定义位置开始,到源文件结束,而const变量与一般变量一样。
    指针常量:const int * a=&b;// 指针可变,指针所指内容不可变  
    指向常量的常指针 const int const *a=&b; //指针不可变,指针所指内容不可变
    2.const指针
    int * const a =&b;
    const (int *) a=&b;
    为防止定义的指针被修改,可用const修饰指针。
    a=&c;  //错误,a为常指针,不可修改
    *a=c;   //正确,指针不可变,指针所指内容可变
    3.const参数
    为防止参数被改变,可用const 修饰参数,作为输入参数,输出参数严禁用const修饰。指针或引用做函数参数时,函数内部对其进行修改时可影响输入值,若不想输入值被改变,可用const修饰。
    4.const成员函数
    int get()const;
    凡不修改类内数据成员的函数均可定义为const成员函数,声明处const放在函数名后,“;”前,定义处const放在函数名与函数体之间。此处const修饰的是this指针指向的对象,相当于限定对象为常对象。
    5.const对象
    为防止对象内部数据成员被改变,可用const修饰,const对象只能调用const函数,非const函数可能会改变数据成员,构造函数和析构函数除外,构造函数和析构函数均不定义为const类型,但是const对象要引用,可引用静态函数。
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值