189 8069 5689

C++重载赋值运算符与11选5平台修复

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

淳安网站制作公司哪家好,找创新互联公司!从网页设计、网站建设、微信开发、APP开发、成都响应式网站建设公司等网站项目制作,到程序开发,运营维护。创新互联公司成立于2013年到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联公司

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;
我们知道,进行赋值时,首先要释放左操作数的资源,然后再根据右操作数对左操作数进行赋值,赋值操作函数如下所示


网页名称:C++重载赋值运算符与11选5平台修复
文章位置:http://cdxtjz.cn/article/jjdico.html

其他资讯