c++中点操作符(.)和箭头操作符(->)的区别

  这二个的区别其实很简单,首先,这二个操作符都是为了获取类类型对象的成员,但是,有区别,点操作符的左操作数是对象,而箭头操作符是指针。

 看下面的一个例子:

 Sales_item是一个类名,same_isbn()是这个类的成员函数;

 Sales_item item();

 Sales_item *sp=&item;

(*sp).same_isbn();

如果你在写的时候漏掉了这个指针周围的圆括号的话,意义就变得不一样了,*sp.same_isbn();因为在这儿"."的优先级高于“*”,这时,就通不过编译,因为,sp指针根本就没有成员函数。正是因为这个原因,因为我们在编程时可能很容易忘记圆括号,所以,就用箭头来代替这个,(*sp).same_isbn()就等价于sp->same_isbn();

还有注意的一点就是点操作符仅应用于类类型对象。


猜你喜欢

转载自blog.csdn.net/daydayup_666/article/details/78009362
今日推荐