c++赋值运算符函数-创新互联

请为该CMyString类型添加赋值运算符函数

创新互联建站-专业网站定制、快速模板网站建设、高性价比绥棱网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式绥棱网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖绥棱地区。费用合理售后完善,十多年实体公司更值得信赖。

c++赋值运算符函数

第二种方法:

c++赋值运算符函数

c++赋值运算符函数

其中运行结果为s1=s2:

c++赋值运算符函数

s2=s1=s3为:

c++赋值运算符函数

运行结果分析:

虽然两种都可以实现赋值运算符函数,但是第一种,如果内存不足导致m_pData是一个空指针,在delete时将会导致程序崩溃,第二种便是一种高效且安全的方法。

总结:(1).在写程序时应注意new与delete.new[]与delete []搭配使用

    (2).在返回时应引用返回,才可以连续赋值。

    (3).传入的参数写为常量引用,不仅可以提高效率,减少一次调用复制构造,并且在赋值时不会改变传入的实例状态。

    (4).在第一种方法中,一旦在赋值运算符函数内部抛出一个异常(如果内存不足导致m_pData是一个空指针),CMyString的实例不再保持有效的状态,就会违背异常安全性原则。而在第二种方法则不会。

 

创新互联www.cdcxhl.cn,专业提供香港、美国云服务器,动态BGP最优骨干路由自动选择,持续稳定高效的网络助力业务部署。公司持有工信部办法的idc、isp许可证, 机房独有T级流量清洗系统配攻击溯源,准确进行流量调度,确保服务器高可用性。佳节活动现已开启,新人活动云服务器买多久送多久。


本文名称:c++赋值运算符函数-创新互联
标题URL:http://myzitong.com/article/coecpo.html