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 *型,地址不可变,所指向的值也不可变。
本文详细解析了C++中const关键字的各种用法,包括修饰普通变量、引用和指针的不同情况,并介绍了如何通过const来控制变量的可变性。此外还提到了类成员函数中this指针的行为差异。
9856

被折叠的 条评论
为什么被折叠?



