网站搭建设计是什么意思,湖北标书设计制作,360免费网站空间,广州好蜘蛛网站建设2024年1月22日 ///昨天外面下雨地没干#xff0c;骑车摔得好结实#xff0c;,,
2024年1月23日 内容整理自The Cherno:C系列
这个关键字确实有点难#xff0c;看了好几遍原视频整理出来的知识框架#xff0c;还需要加以练习
-----------------------------------------…2024年1月22日 ///昨天外面下雨地没干骑车摔得好结实,,
2024年1月23日 内容整理自The Cherno:C系列
这个关键字确实有点难看了好几遍原视频整理出来的知识框架还需要加以练习
---------------------------------------------------------------------------------------------------------------------------------
一const在变量中的使用 字面常量
所谓字面常量就是直接给出的数据例如123、-56、1.414等等 符号常量
所谓符号常量就是给字面常量取一个名称于是在使用该常量的地方就可以直接使用这个名称来代替。例如pi常常可以给3.141592653..取名这样编写的程序可读性高。
const变量不可修改 上面是可以运行的但如果把7行的int a5修改成const,就会报错。 ------------------------------------------------------------------------------------------------------------------------------
二const在指针中的使用
现在让我们在上述的基础程序上添加const关键字以此来看看const究竟有什么用
1.const int * anew int;
const int * anew int;//这意味着你不能修改指针指向地址里变量的内容但是可以改变指针a指向的位置
注意const int *anew int 这样的写法等价于int const * anew int;
2.int * const anew int;
int* const anew int;//const加到*号之后意味着不可以改变指针a的指向但是可以改变a指向的内容
3. const int * const anew int;
既不能改变指针指向的内容也不能改变指针本身使其指向其他位置
------------------------------------------------------------------------------------------------------------------------------- 三类的成员函数加上const修饰符有两个作用 在const成员函数定义的地方告诉编译器这个成员函数不应该改变数据成员的值 在调用const成员函数的地方告诉编译器该成员函数不会改变对象数据成员的值 在程序运行的某个时刻一个对象的所有数据成员的值反映了这个对象在该时刻的状态。
常常把对象的成员函数分为2类
修改对象状态的成员函数write获取对象状态的成员函数 (read)
从概念上讲一个成员函数只要不修改对象数据成员的值它就是一个获取对象状态的成员函数。但是从实现的角度来讲有时候因为疏忽在实现一个获取对象状态的成员函数时无意中修改了数据成员的值这时如果把该成员函数当做获取对象状态的成员函数来使用就会产生程序语义上的错误。
为了解决 上面的问题C提供了const成员函数机制即在定义一个成员函数时可以为它加上一个const说明表示它是一个获取对象状态的常成员函数(const member function) 上面的函数f()就是一个const成员函数在其函数体中不能修改数据成员的值如果在f中修改了数据成员的值编译器会警告这个错误
---------------------------------------------------plus------------------------------------------------------------------------
const有点像类和结构体的visibility,
const是一个让我们的代码更干净的机制并对开发人员写代码强制特定的规则
const基本上就像你作出的承诺
-----它承诺某些东西将是不变的
something is going to be constant,that means its not going to change.
(显然你也可以在现实生活中打破你的承诺但是我们更喜欢言出必行的人)
‘const’ is a promise,it promise something to be constant,which means it will not change,and whether or not to keep that promise is kind of up to you.
and the reason that we want to keep our promise is this can actually help to simplify our code a lot.
It actually has a lot of benefits.
---------------------------------------------------------------------------------------------------------------------------------