assert断言&&const

一、assert断言:断定表达式的结果一定为真,如果为真什么都不做,如果为假程序崩溃;只在debug版有效。

例:assert(des!=NULL&&src!=NULL);

    if(des==NULL||src==NULL)

{

return ;

}

注:1.断言顺序值得注意,断言顺序不能放后面!

2. assert只在 Debug版有效,后面的if语句是在release版起作用的。

二、const:定义常变量,不能写,只能读。

1:

const int ca=100;

ca=200;//错,不能赋值

1. 数据类型对于const而言是透明的,即:const intint const没区别。

2. const用于封锁直接修饰的内容,将该内容变为只读。

3. 权限只能同等传递或者缩小传递。

2:

const int *cp1=&a;<=>int const *cp1=&a;

上式const直接修饰的是*cp1,所以cp1可以写,而*cp1只能读,不能写。

cp1=&b;//可以的

*cp1=200//不可以

3

int *const cp2=&a;

cp2=&b;//不行

*cp2=200;//可以

4

int const *const ccp=&a;

ccp =&b;//不行

*ccp=200;//不行

上例中,ccp*ccp都被封锁了,所以两者都不能进行写运算。

5

int a=10;//读,写

int b=20;//读,写

const int ca=10;//

const int cb=20;//

int *p=&a;//ok

p=&ca;//error,*p=50,p权限无限制,ca只能读,若可以,则通过*p就修改了 ca的值了

4. 被调用函数传指针

void Mystrcpy(char*des,const char*src)

src不能改,只能读。

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值