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 入住酒店文案祝福语简短