<C++> const总结

本文详细解析了C++中const关键字的各种用法,包括修饰普通变量、引用和指针的不同情况,并介绍了如何通过const来控制变量的可变性。此外还提到了类成员函数中this指针的行为差异。

const 有const修饰的变量它是只读的。

和const相关的写法都在这里了。

//修饰普通变量
int value = 80;
const int const_var = 99; //值不可变 const int
int const const_var1 = 78; //值不可变 const int

//修饰引用
const int & constvar = value ;//值不可变
int const& constvar = value ;//值不可变

//修饰指针
//指针指向变量的值不可变 const int
const int * pconst_a = &value ; 

//指针指向变量的值不可变 const int
int const * pconst_b = &value ;

 //指针值不可变 const int*
int * const pconst_c = &value ;  

//指针指向变量的值不可变 const int 
//指针值不可变 const int*
int const *const pconst_d= &value ;

这么多写法,又加上不太注意自然而然记不住啊。于是我决定以后这么写。
const前面修饰什么就代表着什么不可以变。

//值不可变
int const value = 80;

//引用不可变

//指针 指向的值不可变
int const *pvalue = &value;

//指针 指针的值不可变

//指针 指针的值不可变和指向的值不可变
int const * const = &value;

总结一下,列举了和const变量相关的写法,提出了一个利于自己记忆的小窍门。我发现这里有一个bug,我没法控制别人怎么写const变量,也就是说如果我下次遇到const int* var可能还会懵逼,没办法那就回来查一下就行了。LOL

类中
非const函数中this指针为const classname*型,地址不可变地址所指向的值可变。

const函数中this指针为const classname const *型,地址不可变,所指向的值也不可变。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值