c++中操作符->与 . 的使用与区别

在C++中,->. 是两个不同的成员访问操作符,用于访问类、结构体或联合体的成员。

“->” 操作符:
  • 用于通过指针访问指针所指向对象的成员。
  • 当有一个指向对象的指针时,可以使用 -> 操作符来访问该指针所指向对象的成员。
  • 语法:指针->成员名
  • 示例:
Person* ptr = new Person();
ptr->name = "Alice";
ptr->age = 25;
“.” 操作符:
  • 用于直接访问对象实例的成员。
  • 当你有一个对象的实例时,可以使用 . 操作符来直接访问该实例的成员。
  • 语法:实例.成员名
  • 示例:
Person person;
person.name = "Alice";
person.age = 25;
一个简单的代码案例来说明 -> 和 . 的使用和区别:
#include 
using namespace std;

class Person {
public:
    string name;
    int age;
};

int main() {
    Person person1;             // 创建一个 Person 类的对象 person1
    person1.name = "Alice";     // 直接访问对象实例的成员(使用 . 操作符)
    person1.age = 25;

    Person* person2 = new Person();  // 创建一个 Person 类的对象person2,并用指针 person2 指向它
    person2->name = "Bob";           // 通过指针访问对象的成员(使用 -> 操作符)
    person2->age = 30;

    cout << "Person 1: " << person1.name << ", " << person1.age << endl;
    cout << "Person 2: " << person2->name << ", " << person2->age << endl;

    delete person2;    // 释放通过 new 运算符分配的内存

    return 0;
}
  • 在上述示例中,我定义了一个 Person 类,其中包含两个成员变量 name 和 age。
  • 在 main 函数中,创建了两个 Person 对象:person1 是一个对象实例,通过 . 操作符直接访问它的成员变量;person2 是一个指向 Person 对象的指针,通过 -> 操作符访问它所指向对象的成员变量。
  • 输出结果为:
Person 1: Alice, 25
Person 2: Bob, 30

总结:

-> 用于访问指针所指向对象的成员。

. 用于直接访问对象实例的成员。

你可能感兴趣的:(C/C++,c++,开发语言,指针操作符,访问成员)