繁体   English   中英

复制分配运算符定义

[英]copy assignment operator definition

如果一个类具有const成员变量和一个引用成员变量,则该类的副本分配运算符的定义是什么,例如:

class ABC
{
  int const i;
  int & j;
  int k;
  public :
  ABC() :k(40), i(10),j(k)
  {}
};

常量对象和引用是不可分配的。 因此,具有此类成员的类将没有隐式赋值运算符。 可以定义自定义分配运算符,但不能以修改那些成员的方式定义。

如果您希望您的类具有一个副本分配,使引用可以引用与参数对象所引用的对象相同的对象,那么您就不能为此目的使用引用。

如果您希望您的类具有一个使const成员具有与参数对象相同的值的副本分配,则您根本无法使用const成员。

对于const,我们可以在const_cast的帮助下完成

修改const对象(借助const_cast )具有未定义的行为。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM