十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
请为该CMyString类型添加赋值运算符函数
成都创新互联公司是一家集网站建设,什邡企业网站建设,什邡品牌网站建设,网站定制,什邡网站建设报价,网络营销,网络优化,什邡网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
第二种方法:
其中运行结果为s1=s2:
s2=s1=s3为:
运行结果分析:
虽然两种都可以实现赋值运算符函数,但是第一种,如果内存不足导致m_pData是一个空指针,在delete时将会导致程序崩溃,第二种便是一种高效且安全的方法。
总结:(1).在写程序时应注意new与delete.new[]与delete []搭配使用
(2).在返回时应引用返回,才可以连续赋值。
(3).传入的参数写为常量引用,不仅可以提高效率,减少一次调用复制构造,并且在赋值时不会改变传入的实例状态。
(4).在第一种方法中,一旦在赋值运算符函数内部抛出一个异常(如果内存不足导致m_pData是一个空指针),CMyString的实例不再保持有效的状态,就会违背异常安全性原则。而在第二种方法则不会。