C++中:点运算符和箭头运算符的区别

点运算符用于获取对象成员;

箭头运算符用于获取指针指向的对象的成员;

例如:

std::string s1 = "string";

std::string *p = &s1;

s1.size();  //合法,编译通过

s1->size();//非法,编译失败

p.size();    //非法,编译失败

p->size();  //合法,编译通过

 其实,p->size() 等价于(*p).size()。

posted @ 2018-05-06 16:34  余生以学  阅读(2633)  评论(0编辑  收藏  举报