百科狗-知识改变命运!
--

"->"和"."的区别

百变鹏仔1年前 (2023-12-05)阅读数 9#综合百科
文章标签小王运算符

->运算符的左边操作数一般是指针,含义是引用指针指向对象的成员,.运算符左边操作数是引用或者类实例,含义是调用实例的成员。一般情况下,只有两个运算符中只有一个能用:

指针用->,引用和实例用.

例如

class A

{

public:

int GetA();

};

A * p;//指针

A a;//定义一个实例

A & r=a;//定义一个引用

//正确的写法

p->GetA();

a.GetA();

r.GetA();

其中p只能用->,如果写 p.GetA()则会出现编译错误,因为指针不能用.运算符。

同样,a和r只能用.,如果用->则会出现编译错误,例如r->GetA()是错误的。

如果有一个左边变量能够同时用->和.,说明->运算符被重载了。通常出现在stl的iterator中,比如

list::iterator it;

it.operator++();

it->GetA();

stl的iterator是一个类,一般不要直接用.和->;因为.调用了iterator类本身的成员函数,实际上iterator本身的成员函数没什么用。而->运算符被重载了,用于调用iterator本身指向元素的成员,比如it作为一个迭带器当前指向一个list中的A的元素,那么it->GetA()就是调用这个A类型元素的成员。

一般来说对iterator只需要用->,不需要用.,一般认为用->可能会有兼容性问题。所以最用用*,也就是

(*it).GetA()。

和、与、跟、同这四个在同时作连词或介词时意思完全相同。

过去听我的教师说,曾经有人将其进行过分工,让和、与专门作连词,让跟、同专门作介词,但直到今日也没有权威人士或部门认可。所以有时它们出现在句子里是难以让人辨别是介词还是连词的。如:

小王跟小李上山了。

小王和小李是十年前结婚的。

"->"和"."的区别

小王与小李去商店玩了。

小王同小李正在打球。

鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com

免责声明:我们致力于保护作者版权,注重分享,当前被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!邮箱:344225443@qq.com)

图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,本着为中国教育事业出一份力,发布内容不收取任何费用也不接任何广告!)