C++中使用“.“和“->“访问类的成员变量和成员函数时的区别

今天刷题时无意发现 对指向树的指针使用.符号访问子树变量报错了,原来是C++语法规则给忘记了。

在C++中,.和->都用于访问类的成员变量和成员函数。其中.用于访问对象的成员,而->用于访问指向对象的指针的成员。

具体来说,使用.操作符时,左侧必须是一个对象名,而右侧是成员名。例如:

class MyClass {
public:
    int value;
};

MyClass obj;
obj.value = 123;  // 使用"."访问对象的成员

使用->操作符时,左侧必须是一个指向对象的指针,而右侧是成员名。例如:

MyClass* ptr = new MyClass;
ptr->value = 123;  // 使用"->"访问指针指向对象的成员

这里ptr是指向MyClass对象的指针,因此需要使用->操作符来访问该对象的成员变量。

需要注意的是,如果尝试使用.操作符来访问指针的成员,编译器会报错。反之,如果尝试使用->操作符来访问对象的成员,则需要将对象名取地址来获得指向该对象的指针。例如:

MyClass obj;
MyClass* ptr = &obj;
ptr->value = 123;  // 使用"->"访问指针指向对象的成员

猜你喜欢

转载自blog.csdn.net/weixin_43739821/article/details/130115617
今日推荐