设计支持移动的对象

移动应用开发:关键步骤与高效交换技术
本文指导如何为移动对象设计支持移动和交换的类结构,包括移动构造、swap函数、通用赋值操作,以及noexcept异常处理。

要让你设计的对象支持移动的话,通常需要下面几步:

        你的对象应该有分开的拷贝构造和移动构造函数(除非你只打算支持移动,不支持拷贝——如 unique_ptr)。

        你的对象应该有 swap 成员函数,支持和另外一个对象快速交换成员。

        在你的对象的名空间下,应当有一个全局的 swap 函数,调用成员函数 swap 来实现交换。支持这种用法会方便别人(包括你自己在将来)在其他对象里包含你的对象,并快速实现它们的 swap 函数。

        实现通用的 operator=。

        上面各个函数如果不抛异常的话,应当标为 noexcept。这对移动构造函数尤为重要。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值