C++ 中->成员访问运算符
在 C++ 中,->
是一个成员访问运算符,用于通过指针访问对象的成员。
具体解释如下:
- 对象指针访问成员:
当我们有一个指向对象的指针时,可以使用->
运算符来访问对象的成员(包括成员变量和成员函数)。它的形式是指针->成员名
。
示例:
class MyClass {
public:
void myMethod() {
cout << "Hello, World!" << endl;
}
};
int main() {
MyClass obj;
MyClass* ptr = &obj;
ptr->myMethod(); // 通过指针访问对象的成员函数
return 0;
}
在上述示例中,我们创建了一个 MyClass
对象 obj
,然后定义了一个指向该对象的指针 ptr
。通过 ptr->myMethod()
,我们可以通过指针访问对象的成员函数 myMethod()
。
- 动态对象的指针访问成员:
当我们使用new
运算符在堆上创建一个对象,并返回指向该对象的指针时,我们可以使用->
运算符直接访问对象的成员。
示例:
class MyClass {
public:
void myMethod() {
cout << "Hello, World!" << endl;
}
};
int main() {
MyClass* ptr = new MyClass();
ptr->myMethod(); // 通过指针访问动态对象的成员函数
delete ptr;
return 0;
}
在上述示例中,使用 new
运算符在堆上创建了一个 MyClass
对象,并将返回的指针赋值给 ptr
。通过 ptr->myMethod()
,我们可以通过指针访问动态对象的成员函数 myMethod()
。
总结:
->
是一个成员访问运算符,用于通过指针访问对象的成员。它提供了一种方便的方式来使用指针访问对象的成员变量和成员函数。通过 指针->成员名
的形式,我们可以通过指针直接调用对象的成员函数或访问成员变量。