【C++】 箭头操作符
在C++中,->
操作符通常被称为箭头操作符(Arrow Operator)或成员访问运算符通过指针(Member Access Operator via Pointer)。这个名称来源于它的形状和功能,即通过指针访问对象的成员(包括成员变量和成员函数)。
常见称呼
- 箭头操作符(Arrow Operator):这个名称非常直观,因为它的形状就像一个箭头。
- 成员访问运算符通过指针(Member Access Operator via Pointer):这个名称更加正式,描述了它的功能,即通过指针来访问对象的成员。
在日常讨论中,开发者通常会使用“箭头操作符”这个简称,因为它简单明了,容易理解。
在C++中,箭头操作符 ->
是用于通过指针访问对象的成员(包括成员变量和成员函数)。与点操作符 .
不同,点操作符用于直接访问对象的成员,而箭头操作符 ->
则用于指向对象的指针。
使用场景和示例
-
访问对象的成员变量:如果你有一个指向对象的指针,你可以使用
->
来访问该对象的成员变量。1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18class MyClass {
public:
int value;
void display() {
std::cout << "Value: " << value << std::endl;
}
};
int main() {
MyClass obj; // 创建对象
obj.value = 10; // 使用点操作符访问成员变量
MyClass* ptr = &obj; // 创建指向对象的指针
ptr->value = 20; // 使用箭头操作符访问成员变量
std::cout << "obj.value: " << obj.value << std::endl; // 输出:20
return 0;
}在这个例子中,
ptr->value
等同于(*ptr).value
,但->
语法更加简洁和直观。 -
调用对象的成员函数:你也可以使用
->
来通过指针调用对象的成员函数。1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17class MyClass {
public:
int value;
void display() {
std::cout << "Value: " << value << std::endl;
}
};
int main() {
MyClass obj; // 创建对象
obj.value = 10;
MyClass* ptr = &obj; // 创建指向对象的指针
ptr->display(); // 使用箭头操作符调用成员函数
return 0;
}在这个例子中,
ptr->display()
等同于(*ptr).display()
。箭头操作符让代码更易于阅读和理解。
总结
->
是一个箭头操作符,用于通过指针访问对象的成员。- 与点操作符
.
类似,但->
需要左操作数是一个指针,指向一个对象。 - 它简化了指针操作,使代码更加直观和易于理解。
评论