今天刷题时无意发现 对指向树的指针使用.符号访问子树变量报错了,原来是C++语法规则给忘记了。
在C++中,.和->都用于访问类的成员变量和成员函数。其中.用于访问对象的成员,而->用于访问指向对象的指针的成员。
具体来说,使用.操作符时,左侧必须是一个对象名,而右侧是成员名。例如:
class MyClass {
public:
int value;
};
MyClass obj;
obj.value = 123; // 使用"."访问对象的成员
使用->操作符时,左侧必须是一个指向对象的指针,而右侧是成员名。例如:
MyClass* ptr = new MyClass;
ptr->value = 123; // 使用"->"访问指针指向对象的成员
需要注意的是,如果尝试使用.操作符来访问指针的成员,编译器会报错。反之,如果尝试使用->操作符来访问对象的成员,则需要将对象名取地址来获得指向该对象的指针。例如:
MyClass obj;
MyClass* ptr = &obj;
ptr->value = 123; // 使用"->"访问指针指向对象的成员