C++ 指向成员变量的指针
示例
要访问的成员class,您需要有一个指向特定实例的“句柄”,既可以是实例本身,也可以是指向它的指针或引用。给定一个class实例,如果语法正确,则可以使用指向成员的指针指向其各个成员!当然,必须将指针声明为与您指向的指针相同的类型。
class Class {public:
int x, y, z;
char m, n, o;
}; // 类
int x; // 全局变量
int main() {
Class c; // 需要一个Class实例来玩
Class *p = &c; // 需要一个Class指针才能玩
int *p_i; // 指向int的指针
p_i = &x; // 现在指向x
p_i = &c.x; // 现在指向c的x
int Class::*p_C_i; // 指向int的指针 within Class
p_C_i = &Class::x; // 指向任何类别中的x
int i = c.*p_C_i; // 使用p_c_i从c的实例中获取x
p_C_i = &Class::y; // 指向任何类别中的y
i = c.*p_C_i; // 使用p_c_i从c的实例中获取y
p_C_i = &Class::m; //错误!m是一个字符,不是整数!
char Class::*p_C_c = &Class::m; // 更好...
} // 主要()
成员指针的语法需要一些额外的语法元素:
要定义指针的类型,您需要提及基本类型,以及它在类内部的事实:int Class::*ptr;。
如果您有一个类或引用,并想将其与指向成员的指针一起使用,则需要使用.*运算符(类似于.运算符)。
如果您有一个指向类的指针,并想与一个指向成员的指针一起使用,则需要使用->*运算符(类似于->运算符)。
以上是 C++ 指向成员变量的指针 的全部内容, 来源链接: utcz.com/z/326223.html