在C++中,箭头运算符 ->
和点运算符 .
都用于访问类(或结构体)的成员,但它们的使用场景和含义有一些区别:
1.箭头运算符 ->
- 箭头运算符用于访问一个指向对象的指针所指向的成员。当你有一个指向类(或结构体)对象的指针时,可以使用箭头运算符来访问该对象的成员。
- 通常,箭头运算符结合了 解引用操作和点运算符。它将指针解引用,然后再使用点运算符来访问成员。
- 示例:
struct Person {
string name;
int age;
};
// 创建一个指向Person对象的指针
Person* p = new Person;
p->name = "John"; // 使用箭头运算符访问name成员
p->age = 30; // 使用箭头运算符访问age成员
2.点运算符 .
- 点运算符用于直接访问类(或结构体)对象的成员。当你有一个类(或结构体)的实例时,可以使用点运算符来访问该对象的成员。
- 点运算符不能用于指针,只能用于对象本身。
- 示例:
struct Person {
string name;
int age;
};
// 创建一个Person对象
Person person;
person.name = "Alice"; // 使用点运算符访问name成员
person.age = 25; // 使用点运算符访问age成员
总结:
- 箭头运算符
->
用于访问指针所指向的对象的成员。 - 点运算符
.
用于直接访问对象本身的成员。 - 箭头运算符适用于指针,点运算符适用于对象。