游戏电视苹果数码历史美丽
投稿投诉
美丽时装
彩妆资讯
历史明星
乐活安卓
数码常识
驾车健康
苹果问答
网络发型
电视车载
室内电影
游戏科学
音乐整形

EffectiveC读书笔记15让operator返回thi

  前言:
  C的设计者BjarneStroustrup下了很大功夫想使用户自定义类型尽可能地和固定类型的工作方式相似。这就是为什么我们可以重载运算符,写类型转换函数,控制赋值和拷贝构造函数,等等。他做了这么多努力,我们也该继续做下去。基本数据类型的赋值操作可以象下面这样链起来intw,x,y,z;wxyz0;所以,你也应该可以将用户自定义类型的赋值操作链起来:stringw,x,y,z;string是由标准C库自定义的类型wxyzHello;
  因为赋值运算符的结合性天生就是由右向左,所以上面的赋值可以解析为:w(x(y(zHello)));
  很值得把它写成一个完全等价的函数形式。w。operator(x。operator(y。operator(z。operator(Hello))));
  这个格式在此很具有说明性,因为它强调了w。operator,x。operator和y。operator的参数是前一个operator调用的返回值。在一个类C中,缺省版本的operator函数应具有如下形式(见条款45):CC::operator(constC);
  一般情况下几乎总要遵循operator输入和返回的都是类对象引用的原则。例如,标准
  string类型提供了两个不同版本的赋值运算符:stringoperator(conststringrhs);将一个string赋给一个stringstringoperator(constcharrhs);将一个char赋给一个string2cyhs返回值是自身引用的目的是支持链式编程
  采用缺省形式定义的赋值运算符里,对象返回值有两个很明显的候选者:看看下面哪一个是正确的?以String类为例:StringString::operator(constStringrhs){。。。returnthis;返回左边的对象}StringString::operator(constStringrhs){。。。returnrhs;返回右边的对象}
  首先,返回rhs的那个不会通过编译,因为rhs是一个constString的引用,而operator要返回的是一个String的引用。但这个问题很容易解决只用象这样重新声明operator:StringString::operator(Stringrhs){。。。}
  但这样的话,调用它的应用程序就不能通过编译了!为什么?xHello;和x。op(Hello);相同
  因为赋值语句的右边参数不是正确的类型它是一个字符数组,不是String编译器就要产生一个临时的String对象(通过Stirng构造函数参见条款M19)使得函数继续运行。就是说,编译器必须产生大致像下面这样的代码:constStringtemp(Hello);产生临时Stringxtemp;临时String传给operator
  编译器一般会产生这样的临时值,但注意临时值是一个const。这很重要,因为它可以防止传递到函数内的临时值被修改。否则,程序员就会很奇怪地发现,只有编译器产生的临时值可以修改,而他们在函数调用时实际传进去的参数却不行。(早期版本的C允许这类的临时值可以被产生,传递,修改,结果很多程序员感到很奇怪)
  现在我们知道应用程序就不能通过编译的原因了:编译器生成的temp是const对象,参数却是非const类型的。
  所以,结论是,这种情况下你将别无选择:当定义自己的赋值运算符时,必须返回赋值运算符左边参数的引用,this。

指南针教学反思在本课教学中,教师充分运用多媒体,让学生在内容丰富、趣味性强的视频资料中学到知识,解决了学生对指南针的发明过程了解不完整的问题。下面是小编收集整理的《指南针》教学反思,希望对您……三年级语文槐乡的孩子教学反思今天,我教学了《槐乡的孩子》这篇略读课文,也是学生学习、接触的第一篇略读课文。可以说:本节课是我和学生们共同学习、共同成长、共同思考。因此,一节课下来,感想颇多。因为是自……草船借箭第二课时精品教案一、教学要求1。了解本课故事,认识诸葛亮借箭成功的主要原因是有知识,有肚量,有胆略。2。能从课文中具体了解人物的性格,体会首尾呼应的写法。3。学会本课生字新词……Ioftenhelpmymum教学反思范文这节课主要是让学生知道动词过去形式,知道ed的几种不同的发音:t,d。同时能够描述过去的行为,如:YesterdayIcleanedmyroom。Ifinishedmyhome……抓住主要内容教案一、教学目标1阅读短文,初步懂得抓住课文主要内容的方法。2在阅读实践中运用这一方法,形成能力。二、教学重难点让学生初步懂得抓住课文主要内容的方法,并在阅……春天来了教案设计教学目标知识目标1。认识本课10个生字,会写8个字。掌握、艹等常用的偏旁部首。2。通过看图,知道春天有哪些景物,了解春天的特点。积累本课的6个词语和课后的3个……有关哀痛的近义词和反义词【哀痛解释】:1。哀伤;悲痛。下面品学网小编就给大家整理哀痛的近义词,反义词和造句,供大家学习参考。哀痛的近义词和同义词哀伤〔注释〕1。悲痛忧伤悲哀〔注释〕伤心:感……春天来了教学设计开放课堂丰富想象自由表达《春天来了》【设计理念】1。体现作文的开放性、作文教学的时空开放,时间确定在课堂40分钟,空间按作文的目标、内容而定,学校、大自然都是……高三地理课教学反思的组合,打乱顺序,力求能够使区位这一重要概念贯穿始终,而且能够让学生理解起来更加顺畅,这样才能在教学过程出现闪光点,能激发学生学习兴趣,才能使系统更加完善,避免了文科记忆太多的……课文一个中国孩子的呼声优秀教学设计【教学要求】、有感情地朗读课文。、理解信的内容,体会作者所表达的真挚感情。、能联系实际谈自己学习课文的感受,树立热爱和平、维护和平的信念。【教学重难点】……爬山虎的脚说课稿模板《爬山虎的脚》是人教版四年级上册的二单元的精读课文,第二单元围绕学习观察这个主题组编教材,为的是培养学生良好的观察习惯,掌握正确的观察方法。这篇课文细致地描写了爬山虎生长的地方……课文小英雄雨来教学反思范文《小英雄雨来》一文中,作者运用了一个最突出的写作方法反复。教学中,我就这一写作特点进行了简单介绍,对学生的阅读和写作加以指导。为了强调某一个意思,突出某种情感,文章的作者……
全国军训晒黑预警地图出炉,最惨晒到六亲不认据中国天气报道,一提到军训,就绕不开一个永恒的话题晒黑,今年军训你会晒成啥样子?现在全国军训晒黑预警地图出炉了。未来三天(8月31日9月2日),西南地区和东南沿海一带晒黑……比例尺的教学反思范文〔教学案例〕教学内容:省编义务教材小学数学第十二册《比例尺》教学目标:1。在实践活动中体验生活中需要的比例尺。2。在操作、观察、反思、归纳等学习活动中理……谷歌将再次审听用户与语音助手对话,但会先征求同意9月24日消息,据国外媒体报道,谷歌员工将再次开始收听人们与其数字语音助手GoogleAssistant讲话的音频片段,以帮助提高产品质量但这一次,他们将先征求用户的同意。……小灯泡亮了的中班科学教案活动目标:1、能探索选用合适的材料让小灯泡亮起来。2、了解电池的不同用途。认识不同型号的电池、及电池的正负极3、学习合作玩小灯泡亮起来。4、激发幼儿对科……联想回应5G投票事件从头到尾压根没有过投票IT之家5月16日消息今天下午,联想发布了名为《解密那场不存在的联想5G投票事件》文章,文章指出5G投票事件是一次系统化的舆论攻击,攻击者通过对2016年3GPP组织的86、8……美团饿了么App被曝偷听用户讲话IT之家3月18日消息据《IT时报》报道,2018年11月中旬,上海的孙女士在和同事闲聊时提到想喝CoCo奶茶,在打开饿了么App时,在推荐商家首位看见了CoCo奶茶,在此之前……学生评语选1。你的品质,你的心灵一如延安的小屋,朴实无华,真实动人。清晨,你总是用你那纯洁的心纯净的微笑献给校园一片洁净,留给同学一份温馨。的确,你那默默无闻的无私奉献,你那勤奋刻苦的好……从腾讯布局看,直播行业下半场是巨头的游戏?熊猫直播破产定音后不到一周时间,腾讯开始内测腾讯直播小程序。一边是中小直播平台的退场和举步维艰,另一边是互联网巨头在直播领域的不断挖掘和布局,这不禁让人猜疑,随着行业进入……湘教版童年读水浒传教学反思范文《语文课程标准》十分强调学生的课外阅读,重视语言的积累,并明确指出:培养学生广泛的阅读兴趣,扩大阅读面,增加阅读量,多读书,读好书。《童年读lt;水浒传gt;》这篇课文,作者以……鲁南(日兰)高铁正式开通,山东省内每天开行8趟环形列车IT之家11月26日消息,今天鲁南(日兰)高铁日照至曲阜段正式运营,山东省内高铁实现环形贯通,每天将开行8趟高铁环形列车。据介绍,高铁环形列车经由京沪高铁、日兰高铁、济青……故都的秋教学反思篇一《故都的秋》是传统的散文名篇,在散文阅读教学中有利于对学生进行审美鉴赏训练,使学生进入审美艺术的殿堂,从而使学生体悟情与景之间的关系,掌握以情驭景,以景显情的写作手法……清清的溪水教学设计范文一、教学要求1学会本课11个生字,认识4个生字。2能正确读写要求学会的词语。3能分角色朗读课文。4了解课文内容,懂得保护树木的重要,增强环保意识。……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网