c++中const的修饰作用

本文详细介绍了C++中const关键字的用法,包括const修饰指针的两种情况:指针指向的内容不可变和指针本身不可变。此外,还讲解了const在函数声明中的作用,以及const引用的规则。重点讨论了const常量的判别标准,特别是字面量初始化和非字面量初始化的区别。最后,提到了volatile修饰的const常量的特性。

const的作用

  1. int const* a 相当于const int* a ,即指针指向的内容,其内容为常量,即不能改变*a的值。
	int num = 10;
	const int* a = #
	*a= 11; //错误,不能修改内容,注意可以修改num的值
  1. int* const a 表示指针为常量,不能修改其指向,即不能改变指针a的值。
	int num1 = 15;
	int * const b = &num1;
	int num2 = 12;
	b = &num2;//错误,不能修改指向
  1. 用于修饰函数时,用于函数名前,表示返回值为常量,放在函数后,表示函数不能修改成员变量的值 。

const什么时候为只读变量?const什么时候是常量?
const常量的判别标准:

  1. 只有字面量初始化的const常量才会进入符号表,如const int a=10;
  2. 使用其他变量初始化的const常量仍然是只读变量,如const int *a =#
  3. 被volatile修饰的const常量不会进入符号表

注意:

1.const引用的类型与初始化变量的类型相同时:初始化变量成为只读变量
2.const引用的类型与初始化变量的类型不相同时:初生成一个新的只读变量

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值