十三姨

需要析构函数的类也需要拷贝和复制操作
需要拷贝操作的类也需要赋值操作

NoCopy(const Nocopy)=delete;//阻止拷贝
NoCopy &operator=(const NoCopy&)=delete;//阻止赋值

析构函数不能被删除

如果一个类有成员不能默认构造,拷贝,赋值或销毁。那么对应的成员函数将被定义为删除的

如果一个类中有引用成员

赋值操作考虑自赋值运算,并且要将左值原有的资源进行相应的释放(析构),对新资源进行新的构造。

void swap(Myclass val)
{
    using std::swap;
    swap(val0,val1);
}

operator =(Myclass val)
{
    swap(*this,val);
    return *this;
}

当我们定义const成员函数时,唯一的差别就是重载版本有没有const限定。而对于引用限定函数而言。如果我们定义两个及以上的具有相同名字和形参的成员函数,那么就必须对所有函数加上引用限定符,或者所有都不加

foo sorted()&&;
foo sorted()const;
//worng

foo sorted();
foo sorted() const;
..right;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值