C++ 移动语义
示例
移动语义是C++中将一个对象移动到另一个对象的一种方式。为此,我们清空旧对象并将其所有内容放入新对象中。
为此,我们必须了解什么是右值引用。一个右值引用(T&&其中T是对象类型)与普通引用(T&,现在称为左值引用)差别不大。但是它们充当两种不同的类型,因此,我们可以使构造器或函数采用一种或另一种类型,这在处理移动语义时将是必需的。
我们需要两种不同类型的原因是要指定两种不同的行为。左值引用构造函数与复制有关,而右值引用构造函数与移动有关。
要移动对象,我们将使用。此函数返回对该对象的右值引用,以便我们可以将该对象中的数据窃取到一个新对象中。有几种执行此操作的方法,下面将进行讨论。std::move(obj)
需要注意的重要一点是,使用std::movecreate只会创建一个右值引用。换句话说,该语句不会更改obj的内容,而(可能)会更改。std::move(obj)autoobj2=std::move(obj)
热门推荐
10 财运虎年祝福语简短语
11 单亲爸爸春节祝福语简短
12 狗狗上厕所训练
13 植物种植祝福语简短
14 翻译考试祝福语朋友简短
15 个人周年庆简短祝福语
16 狗狗怎么训练
17 分别祝福语简短搞笑英文
18 生日广州男生祝福语简短