assert和constD13

本文详细介绍了C++中const关键字的使用,包括常量声明、只读特性以及权限转递。同时,探讨了assert断言的使用,其在调试版本中用于检测表达式的真伪,若为假则程序崩溃。文中通过实例代码展示了const与指针的结合使用,以及assert在不同情况下的行为。
摘要由CSDN通过智能技术生成

assert:assert(表达式);表达式为真则什么都不做,为假则程序崩溃,并提醒崩溃位置,在debug               版本有效,release自动失效

断言需要引用断言头文件:#include<assert.h>

const:定义常变量

1.基本类型对于const是透明的

const int ca=10;和int const cb=10;等价

2.const只修饰直接右边,将其变为只读

3.权限只能同等转递或缩小转递

int main()
{
	int a=10;//可读可写 
	a=20;//a是写 
	int b=a;//a是读 
	const int ca=10;//只读 
	b=ca;
	ca=20;//报错 
	int *p=&a;
	p=&b;
	*p=100;
	const int *cp1=&a;
	cp1=&b;//正确 
	*cp1=100;//报错 
	int const *cp2=&a;
	cp2=&b;//正确 
	*cp2=100;//报错 
	int *const cp3=&a;
	cp3=&b;//报错 
	*cp3=100; //正确 
} 
int main()
{
	int a=10;
	int b=20;
	const int ca=10;
	const int cb=20;
	int *p1=&a;//正确
	*p1=100;
	p1=&b;
	int *p2=&ca;//报错   *p2=100;解引用间接给ca赋值
	const int *p3=&a;
	const int *p4=&ca;//报错,*p4可解引用
	*p4=100;//报错
	int *const p5=&a;
	int *const p6=&ca;//报错
	const int *const p7=&a; 	 
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值