范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

ModernC新特性final修饰符

  Modern C++ 新特性--- final修饰符
  在java语言中,你可以使用final关键字来修饰一个函数,来告诉编译器该函数不能被重载,也可以使用final关键字修饰一个类告诉编译器该类不能被继承。现在C++11之后也引入了final关键字。看下面一个例子:#include   using namespace std;  class Base { public: 	virtual void mfunc() final { 		cout << "Base::mfunc" << endl; 	} };  class Derived : public Base { 	void mfunc() { 		cout << "Derived::mfunc" << endl; 	} };   int main() { 	 	Derived d; 	Base &b = d; 	b.mfunc();  	return 0; }
  编译上面的代码会得到如下错误:"Base::mfunc": function declared as "final" cannot be overridden by "Derived::mfunc"
  原因是基类当中的mfunc被声明为了final,所以编译器不允许子类重载。再看个例子:#include   using namespace std;  class Base final { public: 	virtual void mfunc() { 		cout << "Base::mfunc" << endl; 	} };  class Derived : public Base { 	void mfunc() { 		cout << "Derived::mfunc" << endl; 	} };   int main() { 	 	Derived d; 	Base &b = d; 	b.mfunc();  	return 0; }
  编译上面的代码会得到如下错误:"Derived": cannot inherit from "Base" as it has been declared as "final"
  原因是基类被final修饰,因此编译器不允许子类继承。但是在c++ final却不能被看做一个关键字,因为它只有在上面两种情况下才有意义。比如在下面的代码中final就是一个普通变量。这样做可能是为了向前兼容的原因。#include   using namespace std;  int main() { 	 	int final = 0; 	cout << final << endl;  	return 0; }
  那么为什么要用final修饰来让一个类不能被继承呢?
  第一,当你设计一个类的时候,有时候可能你不希望使用者继承这个类或者继承这个类可能会带来某些问题,那么你可以用final修饰该类,明确告诉使用者,该类不能被继承,也告诉编译器替你把好关。
  第二,一个类使用final修饰后,可以去虚化,从而提高程序性能。看下面的例子:#include   using namespace std;  class dog { public: 	virtual void speak() { 		cout << "woong.. woong.." << endl; 	} };  int main() { 	dog good_dog; 	good_dog.speak();  	return 0; }
  加上final后,编译器就会尝试去除speak的virtual属性,因为你已经明确告诉了它这个类不会被继承,所以保留virtual这个属性已经没有意义,因此编译器会尝试优化。所以,将由在运行时的通过虚函数表间接调用,转为编译时地址确定的直接调用。这样效率就提升了。
  本文简单介绍了c++11之后引入的final修饰符,希望对大家有所帮助。

刘强东夫妇转让投资公司,曾是二人多年爱情见证文AI财经社牛耕编辑张泽6月2日,针对前一日网传的由刘强东牵头的京东资本正在紧张筹备当中的传言,京东集团做出回应以上为不实消息。此前,有媒体报道称,京东集团旗下投资平台京东资本正在有个喜欢拍Vlog,平时也爱玩和平精英的女朋友,送啥手机好?这个问题有点意思,喜欢拍Vlog,还喜欢玩游戏,这样的女生很少见。至于送手机,个人觉得什么都可以,看你自己的预算以及她的品牌喜好,最好的当然是iPhone了。如果没那么多钱,买一部捐款1元被扣了3元大病筹款告别免费时代?来源北京日报原标题捐款1元被扣了3元,多家互联网平台开始收取支持费(引题)大病筹款告别免费时代?(主题)北京日报记者潘福达近期不少网友反馈称,多家互联网大病筹款平台向捐款者收取支持地信中心纳入陕西省科技型中小企业名单近日,经陕西省科学技术厅审核公告,自然资源部陕西基础地理信息中心顺利通过评估,正式纳入陕西省第三批科技型中小企业名单。科技型中小企业是指依托一定数量的科技人员从事科学技术研究开发活天智航(688277。SH)骨科手术导航定位系统TiRobotRecon临床试验入组工作已完成智通财经APP讯,天智航(688277。SH)公告,公司的骨科手术导航定位系统TiRobotRecon(即TKA全膝关节置换机器人)临床试验入组工作即临床试验手术已全部完成。据悉,百度再出重拳,3。5寸大屏续航一年,44元可以关爱家人健康百度作为互联网大鳄,已经成为消费者日常生活中不可缺少的伙伴。百度依靠搜索引擎开始发展,到现在已经深入到多个领域,并且都有着非常出色的表现。百度不光在互联网上有着杰出的表现,同时在A科创先锋丨蒋平安为新疆现代农业发展注智赋能石榴云新疆日报记者郭倩北斗导航自动驾驶,让播种变得精准省力传感器组摄像头,对作物生长环境全天候监测从智能化耕种植保浇水施肥防病除害,到适时收获质量安全溯源,这是农村信息化及智慧农业神经网络与傅立叶变换有关系吗?机器学习和深度学习中的模型都是遵循数学函数的方式创建的。从数据分析到预测建模,一般情况下都会有数学原理的支撑,比如欧几里得距离用于检测聚类中的聚类。傅里叶变换是一种众所周知的将函数售价2149元!没有刻度和时针的手表以点阵告诉你时间和信息了解更多热门资讯玩机技巧数码评测科普深扒,点击右上角关注我们的头条号雷科技,以及我们的微信公众号雷科技(IDleitech)科技正在改变我们的生活。而科技智能产品,给我们生活带来太高通发布手机芯片智能驾驶元宇宙等解决方案来源中国电子报本报讯记者张心怡报道在5月20日举办的高通骁龙之夜上,高通发布了面向下一代旗舰手机的骁龙8移动平台,并公布了在汽车XR领域的最新进展。能效表现是骁龙8旗舰移动芯片的主芯片供应链松动,手机芯片现砍单风暴,联发科维持年度目标澎湃新闻记者周玲供应紧缺两年多的芯片供应链出现了局部松动,手机芯片出现砍单潮。日前,天风国际知名分析师郭明錤透露,手机芯片厂商联发科和高通已削减下半年的5G芯片订单。其中,联发科中
新品潘多拉2019秋季系列,以新方式表达自我新品盘点救命啊,潘多拉又又又出新品啦!秋季新品来袭!主题为探索你心爱的事物任想像力驰骋,借助琳琅满目的珠宝,反映您心爱的人事物和地方。PandoraMoments系列大号O字形吊坠浅谈未来建筑业智慧建造转型的必要性目前,全球建筑运营能耗已占到总能耗的30以上,若再加上建设过程中的能耗,这一指标接近50。此外,城市建筑垃圾占到垃圾总量的30到40,与建筑有关的空气污染光污染等占到综合环境总体污近期去澳门的注意了,这些东西一定不能带清明三天小长假来啦!估计不少朋友已经续完通行证并预约好核酸检测准备去澳门旅游买买买顺便给闺蜜囤几盒面膜了兴奋归兴奋但千万别忘了出境规定东西买过量是要被抓走哒!鉴于好多人许久没去澳门澳门科学馆11周年让参加者可以边玩边学,提升学习科学的兴趣为庆祝开幕11周年,澳门科学馆准备了一连串的精彩节目及活动与众同乐。届时将推出不同系列的科普活动,活动内容精彩纷呈,非常适合大人和小朋友一起参加。日期即日起至12月20日,每逢周六半入耳主动降噪双设备同连,华为FreeBuds4陶瓷白评测图赏在看完华为FreeBuds4的发布会后几天,我的3代的左耳掉了。干脆直接下单了新款的4代,我确实是看上了自适应的半入耳式主动降噪双设备同时连接的升级卖点。所以去体验店里体验了一下华探梦者L1Pro智能电动滑板车,代驾师傅都说好时间过得好快,2021年时间将过半,在这半年的时间里,经历了春节,清明,五一等假期,而其余的时间就是上班喽。面对日复一日的上班,在坚持的基础上,为了孩子,为了家庭,为了自己,都在努别让坏脾气毁了你的人生,控制脾气的本事你有吗?坏脾气,能毁掉你的人生发脾气是本能,能控制脾气才是本事。暴躁,易怒,动辄翻脸,这样的人日子过的一定不会太如意。安迪是我的粉丝,经常私信咨询我一些问题。这段时间她刚结束了一段感情,男碧桂园的800亿机器人生意怎样了?自2018年房产巨头碧桂园宣布进军机器人领域,至今已经两年的时间。5年投入800亿业务三架马车之一校企合作机器人餐厅数千人团队数千项专利申请数十项投放测试碧桂园的跨界玩转得轰轰烈烈脱发,你焦虑了吗?救星来啦在工作和生活的双重压力下,很多80后乃至90后的青年都光荣地加入了脱发一族。为了拯救发际线或是不变成地中海,很多人从此走上了寻医问药之旅。而最终的结果,往往是部分人因为药石无效选择3种男性用药进入集采,价格大幅下降!如何合理选用,分别来介绍随着国家带量采购政策的实施,很多药物都大降价,给老百姓带来了很多福利。目前国家带量采购已经实施5轮了,有3种治疗男性功能的药物也进入了集采目录中。那就是西地那非他达拉非达泊西汀。这长期使用男性用药会成瘾吗?停药后是否会变得更糟?医生说出答案现代社会,节奏快压力大。很多男性上有老下有小,长期的超负荷工作,再加上吸烟酗酒熬夜等不良的生活方式与习惯,导致在夫妻生活中感到力不从心,有心无力。43岁的张先生听别人说男性用药伟哥