猿问
回到首页
个人中心
反馈问题
注册登录
下载APP
首页
课程
实战
体系课
手记
专栏
慕课教程
什么是复制和交换习语?
这个成语是什么,什么时候应该使用?它解决了哪些问题?当使用C ++ 11时,成语是否会改变?
什么是复制和交换习语?
慕沐林林
浏览 579
回答 3
3回答
慕后森
分配的核心是两个步骤:拆除对象的旧状态,并将其新状态构建为其他对象状态的副本。基本上,这就是析构函数和复制构造函数的作用,因此第一个想法是将工作委托给它们。然而,由于破坏必定不会失败,而建筑可能,我们实际上想要反过来做:首先执行建设性部分,如果成功,那么做破坏性部分。复制和交换习惯用法就是这样做的:它首先调用类的复制构造函数来创建临时文件,然后用临时文件交换数据,然后让临时的析构函数破坏旧状态。以来swap()应该永远不会失败,唯一可能失败的部分是复制结构。首先执行此操作,如果失败,则目标对象中不会更改任何内容。在其精炼形式中,通过初始化赋值运算符的(非引用)参数来执行复制来实现复制和交换:T& operator=(T tmp){ this->swap(tmp); return *this;}
0
0
0
打开App,查看更多内容
随时随地看视频
慕课网APP
相关分类
C++
typedef入门问题
1 回答
C#
typedef入门问题
1 回答
.NET
.net 中 字符串含有超链接,如何给超链接自动加上a标签?
1 回答
请问.net 中用jquery传值安全吗?
2 回答
继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续