c/c++基础回顾-const

1. 成员函数const修饰,相当于对该this指针const修饰,所以this指向的成员变量不能被修改(除mutable关键字修饰和static变量)

2. 成员const变量不能在声明的同时初始化,只能在类的构造函数中初始化(static const才可以)

3. 各种声明格式

  • const int a ;//a为常量值,不能被改变

  • int const a ;//如1,这种情况与修饰符的位置无关

  • const int *a ;//指针可变,指针指向的内容不可变

  • int* const a ;//指针不可变,指针指向的内容可变

  • int const* const a ;//指针和指针指向的内容均不可被改变

3. define声明常量相对const有很多缺点,声明定义常量用const更好,可避免类型检查等

4. typedef void* VP(typedef与define不一样,前者定义一个数据类型,后者只是一个别名用于替换),VP变成一个修饰符,例如const VP ptr就不能被替换成const void* ptr,使用VP时相当于char*为一个整体,表示的是这个指针只读,不能被修改,而指向的内容可以被修改,VP const ptr一样。

5. 函数参数用const修饰,避免传进的参数被修改

转载于:https://my.oschina.net/u/2364109/blog/419905

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值