const和volatile以及引用

const

定义:修饰一个变量,表示不能在作为赋值的左值。
c中:
(1)const修饰的变量不一定要初始化。
(2)const修饰的变量变为常变量。
(3)不能作为常量使用,例如定义数组的大小。
(4)常变量的编译方式和普通变量没有区别。
c++中:
(1)const修饰的变量必须初始化。
(2)const修饰的变量变为常量。
(3)可定义数组的大小(完全可以当作常量使用)。
(4)常量的编译方式,在编译的过程中,把常量名字替换成值(取常量地址时,不需要替换)。
(5)若初始值是变量,那么c++中的常量,变为c的常变量。

const和一级指针的结合?

保证const安全:代码上不能有直接或间接的修改常量值的可能。

const和多级指针的结合?

是共存亡的关系(即要么等号两边都有const 要么都没有)。

引用以及const和引用的结合

左边有类型,叫引用;没类型叫,取地址。
引用:更安全的指针。
1.变量定义时,名字左边有&符号,就是定义了一个引用变量。
2.引用必须初始化,指针不需要。
3.引用定义时,引用了哪块内存,就不能改变了也不能在引用其它内存块。
4.在c++99中只能定义一级引用,不能出现多级引用(c++11中有二级引用)。
5.使用引用变量,永远访问的是它所引用的内存(不能访问4字节的指针内存)。

引用成功必须满足以下条件:

1.引用必须初始化。
2.初始化的值能取地址:
普通的引用变量蹦引用常量,必须是常引用才或const指针能引用或指向常量;

阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭