const关键字、变量、函数用const修饰

const关键字

const是constant的缩写,称为恒定不变,被const修饰后的实体都受到强制保护,避免发生意外的改动,可提高程序的强壮性和维护性。

const变量

const int maxSize = 50;			//int型常量
const int *ptr = &maxSize;		//指向const int 类型的指针
int minSize = 100;				//int型
int* const ptr1 = &minSize;		//指向int型的常量指针
const int* const ptr2 = &maxSize; //指向const int类型的常量指针 
//接下来简述下
const int testSize = 30;
ptr = testSize;   //ptr指针可以重新指向另一个变量

int num = 10;
prt1 = # //错误  ,常量指针只能在初始化中指向对象,不能改变指向的对象

需要注意的是:const的对象必须要进行初始化,因为不能进行赋值操作,只能在定义的时候赋值。

const用在函数上

//const 不能用在输出参数上,只能用在输入参数上,确保在函数作用域的时候不会发生改变
void copy(QString& dest, const QString sourse)
{
	........
}

//const用在函数返回值上
const int* readData()
{
}
const int* value = readData();//正确
int* value1 = readData();//错误
//因为如果返回值是指针,必须需要跟返回值同一类型。

//const用在函数声明的末尾(const成员函数)
void test() const
{
	//const成员函数不得修改了数据成员或者调用了其它非const成员函数,如果这期间修改或调用了,编译器会报错。
}

define (宏定义)

此时,不得不说就是define这个关键字了
常常会将常量定义成预处理器宏的情况。(本人现在也是经常使用宏定义去定义常量,现在慢慢在转变)

#define MAXSIZE (30)
int array[MAXSIZE];

宏定义会在编译阶段中的预处理阶段替换程序中的宏。

为什么要去使用const 而不是宏定义呢?
因为const表达式能够进行类型检查在编译的时候,所以更倾向于const表达式。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

赟赟、嵌入式

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值