如下伪代码,现实中 ptr 是运行时动态获得的,并且确定不为 null 。
struct X {
uint a;
uint b;
};
auto ptr = (X*) malloc(sizeof(X));
auto &obj = *ptr;
obj.a = 11;
cout << ptr->a << endl; // 11
ptr->a = 22;
cout << obj.a << endl; // 22
正常使用应该是 ptr->a, ptr->b 。但引用可以用 . 而不是 -> 看着更舒服些,不知有没有问题。