点运算符(.)
点运算符只能用于类类型的对象。其左侧运算对象必须是一个类类型的对象,右侧运算对象为运算对象指定的成员。 比如现在已经有了 Class A{ public: int val; int f(); } 则在使用的点运算符的时候: A a; a.f();//
箭头运算符(->)
箭头运算符与点运算符有关,对于一个指针ptr,表达式ptr->mem等价于(*ptr).mem;
string s1 =
"a string",
*p = &s1;
auto n = s1.
size();
n = (
*p).
size();
n = p->
size(;)
总结
点运算符针对对象和对象的成员,箭头运算符针对的是指针和成员;