"."运算符和“->”运算符
时间: 2023-04-06 09:01:41 浏览: 74
在 C 语言中,"."运算符用于访问结构体变量的成员,而"->"运算符用于访问结构体指针变量的成员。例如,如果有一个结构体变量s,其中有一个成员变量x,可以使用s.x来访问x的值;如果有一个结构体指针变量p,指向一个结构体变量s,可以使用p->x来访问s的x成员的值。
相关问题
c++重载运算符“->”
在C++中,箭头运算符“->”通常被用于访问一个对象的成员,该对象是一个指向类对象的指针。如果要对指向类对象的指针进行重载,我们可以使用箭头运算符“->”进行重载。
重载箭头运算符的语法如下:
```
class MyClass {
public:
MyClass* operator->() {
// ...
}
};
```
在这个示例中,我们重载了 MyClass 类的箭头运算符“->”。在重载函数中,我们可以返回一个指向 MyClass 类对象的指针或一个指向另一个类对象的指针,这取决于我们的需求。
下面是一个使用重载箭头运算符的示例:
```
MyClass obj;
MyClass* ptr = &obj;
ptr->someMethod(); // 调用 MyClass::someMethod() 方法
```
在这个示例中,我们定义了一个 MyClass 类的对象 obj,并且获取了指向该对象的指针 ptr。由于我们已经重载了箭头运算符“->”,因此我们可以使用箭头运算符来访问 MyClass 类对象的成员函数 someMethod()。
C语言中运算符“->”什么意思
在C语言中,“->”是一个成员运算符,用于访问结构体指针变量所指向结构体中的成员变量。
具体地说,如果有一个结构体类型的变量指针ptr,它指向结构体变量s,且结构体中有一个成员变量field,则可以使用“->”来访问该成员变量,语法为:
```c
ptr->field
```
这等价于使用“*”解引用指针变量,再使用“.”访问结构体成员变量,即:
```c
(*ptr).field
```
这种方式比较繁琐,使用“->”可以更加简洁方便。
相关推荐
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)