1. 指针
指针的本质是存放地址的变量,一定要理解这一点;
2. 指针的定义
定义一个指向整型的指针,
int *p;
int a;
给指针赋值,
p = &a;
指针引用
*p = 3;
3. 指针的类型
|-------|------------|---------------------|---------------------|
| | 含义 | 语法 | 示例 |
| 变量指针 | 指向变量的指针 | 变量类型 *指针变量名 | int *p |
| 函数指针 | 指向函数的指针 | 函数返回值类型 (*指针变量名)() | int (*pF)(); |
| 类指针 | 指向类的指针 | 类 *指针变量名 | Time *pC; |
| 类成员指针 | 指向类数据成员的指针 | 类型 类名::*指针变量名 | int Time::*ptr; |
| 类函数指针 | 指向类成员函数的指针 | 类型 (类名::*指针变量名)() | int (Time::*ptr)() |
4. 访问类成员指针
类成员指针 (Pointer to Member) 是一种特殊类型的指针,它存储的是成员在类定义中的偏移量,而不是实际的内存地址。因此,在使用时必须通过一个具体的对象或对象指针来访问:
-
访问数据成员:
对象. *数据成员指针或对象指针 -> *数据成员指针 -
访问成员函数:
(对象. *成员函数指针)()或(对象指针 -> *成员函数指针)()