对于一般的变量来说,其实没有顶层const和底层const的区别,而只有向指针这类复合类型的基本变量,才有这样的区别。 一、如何区分顶层const和底层const 指针如果添加const修饰符时有两种情况: 1 、指向常量的指针:代表不能改变其指向内容的指针。 声明时const可以放在类型名前后都可 ...
分类:
编程语言 时间:
2021-01-28 12:26:28
阅读次数:
0
1、C/C++ 中关于以下三种定义: const char *ptr; 不可以通过该指针改变指向内容;可以指向别的内容; char const *ptr; 同上; char* const ptr; 指针指向固定;指向内容可以改变; const char* const ptr; 二、const变量相互 ...
分类:
其他好文 时间:
2020-08-26 17:19:47
阅读次数:
47
数组和指针 const 指针 数组 数组 初始化 使用const声明数组 有时需要把数组设置为只读。这样,程序只能从数组中检索值,不能把 新值写入数组。要创建只读数组,应该用const声明和初始化数组。因此,初始化数组应改成: 这样修改后,程序在运行过程中就不能修改该数组中的内容。和普通变 量一样, ...
分类:
编程语言 时间:
2020-05-02 21:14:57
阅读次数:
65
1.常变量,即const对象 const int a; //a中的值不可变 const int * b; //b所指的对象的值不可变,但是b的值可变 2.常指针,即const指针 int* const c; //c是一个常量指针 3.既是常变量还是常指针 const int* const a;//指 ...
分类:
其他好文 时间:
2020-05-02 14:41:30
阅读次数:
78
this是一个const指针,存的是当前对象的地址,指向当前对象,通过this指针可以访问类中的所有成员。 1)每个对象都有this指针,通过this来访问自己的地址。 2)每个成员函数都有一个指针形参(构造函数没有这个形参),名字固定,称为this指针,this是隐式的。 3)编译器在编译时会自动 ...
分类:
其他好文 时间:
2020-03-14 22:11:38
阅读次数:
53
指针和引用都是一种复合类型。 复合类型: 基于其他类型定义的类型 基本数据类型+声明符 引用并非对象,而是一个别名,定义时必须初始化 // 引用并非对象,而是一个别名 int ival =1024; int &refVal = ival; // refVal 指向ival(是ival的另一个名称) ...
分类:
编程语言 时间:
2020-01-28 21:08:35
阅读次数:
76
一、概念 指针是一种数据类型,可以操作内存; 指针本质上是地址,指向以它为地址的内存单元; 指针变量是存放内存地址的变量。 二、指针常量与常量指针 char * const p:指针常量 ,本质是常量,这个指针是一个常量; const char *p :常量指针 ,本质是指针, 这个指针指向一个常量 ...
分类:
其他好文 时间:
2019-10-09 21:13:38
阅读次数:
248
int *const p:指针常量,其本质是一个常量(用指针修饰),这个常量的内容是一个指针,不可以修改p指向的地址,但是可以修改*p的值。定义的时候要赋初值。(数组名也是一个指针常量) int const *p(const int *p):常量指针,其本质是一个指针(用const修饰)。说明它指向 ...
分类:
其他好文 时间:
2019-08-28 13:15:10
阅读次数:
81
为了区分是指向常量的指针还是const指针(表示指针本身是常量) 一个简便方法:从由往左读,遇到p就替换为“p is a”,遇到*就替换为“point to”,其余不变。 const int * p ;// p is a point to int const ,p是一个指向常量的指针,指向的对象是一 ...
分类:
编程语言 时间:
2019-08-24 19:06:57
阅读次数:
115
(1)指针:指针是一个变量,只不过这个变量存储的是一个地址,指向内存的一个存储单元;而引用跟原来的变量实质上是同一个东西,只不过是原变量的一个别名而已。 (2)可以有const指针,但是没有const引用; (3)指针可以有多级,但是引用只能是一级(int **p;合法 而 int &&a是不合法的 ...
分类:
其他好文 时间:
2019-08-08 10:30:47
阅读次数:
98