欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

const引用和const指针 c++编程开发 

程序员文章站 2022-06-16 11:47:52
...
1、重点:常量类型是基础
     const 类型  变量
     类型 const  变量

举例: const int r=1;
       int const r =1;

类型包含指针类型,注意不包含引用类型。


2、const修饰引用
const是限定符号,表示后面变量对象不可变化(必须在初始化时候指定植)。无论是"const引用"还是"const 指针"都是针对const变量的。若没有这两类,而使用单独"引用"或者"指针",则会导致对const变量的改变,为避免此情况,编译器用“const引用” 和“const指针”。重点理解const类型变量,都是以他展开的。

引用 是变量别名,不可改变,所以必须在初始化时候指定初值

“const引用”是何意思呢?
显然,是指通过这个“const引用"来指向const类型变量。而不可通过该引用修改变量。注意”引用“本身也不能改变。这点和 指向const变量的const指针类似

const位置(替换原则)
const int a =2 ;
const   int  &r2 = a;
int     const  &r3 = a;
"const int" 还是 "int const" 都表示常量int.故次序都可以可根据自己习惯。cosnt和类型紧密结合,前后都可。注意指针和引用一起使用时候可能会有歧义,指针类型需要类型和* 来表示,不同于单独的类型,结合上会存在问题。

3、const修饰指针
指向常量的指针  int  const * p; 或者 const int * p;
             "const int" 还是 "int const" 都表示常量int.故次序都可以可根据自己习惯
常量指针  int* const p;
const位置以*左右为区分

4、const、引用和指针结合。
注意下面形式
int a = 2;
int* const  &ref = &a; (注意不可这样const int*   &ref = &a 。因为 const int类型 表示常量了,而此是int型,故不可改变次序,见上面的替换原则分析)。(指针为:int*)

const int b = 3;
const int * const &ref = &b; (指针为:const int*,指向常量的指针,以引用为主)
也可 int const *  const  &ref = &a;
相关标签: c++ 编程 开发