C++ 学习-const&引用

const:

1、const关键字(常量必须进行初始化)

     const int MAX_VAL = 23;

     const int MIN_VAL=0;

2、定义指向常量的指针(常量指针指向的内容是不可修改的)

     int a=10;

     const int *p=&a;

3、定义指针常量(因为指针常量为一个常量,所以必须给他赋初值。虽然指针常量的值不能变,但是它指向的内容可改变)

     int b = 10;

     int  *const pb=&b;

4、定义指向常量的常量指针(指向的对象不可改变)

     const int a = 10;

     const *const pb=&a;

5、const vs #define:(尽量以const代替的define)

(1) 编译器处理方式不同 define宏是在预处理阶段展开。 const常量是编译运行阶段使用。 (2) 类型和安全检查不同 define宏没有类型,不做任何类型检查,仅仅是展开。 const常量有具体的类型,在编译阶段会执行类型检查。

引用:(引用的时候必须进行初始化,引用跟某一变量绑定之后不能再绑定其他的变量)(变量才能使用引用)

1、引用就是某一变量(目标)的一个别名,对引用的操作与对变量直接操作完全一样。以引用返回函数值,定义函数时需要在函数名前加& 用引用返回一个函数值的最大好处是,在内存中不产生被返回值的副本

int a;

int &refa=a;//引用

2、引用VS指针

1) 指针是一个实体,而引用仅是个别名;

2)引用使用时无需解引用(*),指针需要解引用

3)引用只能在定义时被初始化一次,之后不可变;指针可变

4)引用不能为空,指针可以为空

原文地址:https://www.cnblogs.com/lyp1010/p/11683634.html