C++ 重载赋值运算符与11选5平台修复
admin
2023-04-26 15:42:50
0

1、C++中重载赋值操作函数应该返回什么?

  11选5平台修复(企 娥:217 1793 408)类重载赋值操作符一般都是作为成员函数而存在的,那函数应该返回什么类型呢?参考内置类型的赋值操作,例如

  int x,y,z;

  x=y=z=15;
  赋值行为相当于x=(y=(z=15)),也就是赋值操作应该返回左操作数的引用,因此,为了和内置类型兼容,类中重载赋值操作符应该返回左操作数的引用,即*this,如下类A的重载赋值操作函数的声明,

  class A{};

  A& A::operator=(const A&);

2、确保重载赋值操作具有良好的行为

  对于赋值操作,首先应该想到的是怎么处理自我赋值,当类包含指针类型的数据时尤为重要,如下所示

 class MyString{

    public:

      ...

      MyString(char *p=NULL);

      MyString& operator=(const MyString&);

    private:

      char *str;

  };

  MyString a("hello");

  MyString b("world");

  a=a;
  我们知道,进行赋值时,首先要释放左操作数的资源,然后再根据右操作数对左操作数进行赋值,赋值操作函数如下所示

相关内容

热门资讯

华为新款MatePad Pro... 【CNMO科技消息】7月30日,@华为终端 官宣全新旗舰平板华为MatePad Pro。 新款华为...
从实验室到实景验证:6G光子太... 全息通信是第六代移动通信(6G)的典型应用场景之一,旨在通过融合无线传输与全息三维成像技术,实现超大...
从“能对话”到“能干活”——人... 【经济界面】 光明日报记者 刘坤 李晓东 周洪双 人工智能(AI)眼镜化身为个人“助理”,实时进行...
【全新发布】UminiP Pr... (来源:洲明科技)
日本通过“H3火箭8号”发射失... △H3火箭(资料图) 日本文部科学省30日召开关于去年“H3火箭8号”发射失败的会议。会议通过的最终...
互联网巨头抢滩健康硬件,上游芯... 封面新闻记者 付文超 当下,互联网巨头对健康硬件的押注,正在成为产业现实,加速拉动整个产业链步入新一...
巨头“整合风暴”进行时,字节跳... 2026年,中国科技巨头相继在内部掀起“整合风暴”,用不同方式重组“AI基因”。 7月30日,字节跳...
当汽车拥有智能“大脑”,车企开... 图片来源:华为智擎 一百多年来,汽车行业一直有一套相对稳定的评价体系。 发动机决定动力,变速箱影响效...
小米澎程首发体验:全尺寸车身霸... 7月30日,在小米召开澎程技术沟通会的当天,澎程N90、N70系列新车也开进了小米汽车门店。 这两款...
实习生薪资万元起步,华为字节抢... 大厂实习薪资暗战:互联网高薪抢人,车企维持薪酬稳态 近日,一位华为松山湖实习生晒出万元月薪和深夜加班...