赞
踩
move作用主要可以将一个左值转换成右值引用,从而可以调用C++11右值引用的拷贝构造函数,在对象拷贝的时候,在运行时,它们不会产生一行代码原先的对象也会清空, 可以减少资源创建和释放。作为可以归纳为以下几点:
1、std::move函数可以以非常简单的方式将左值引用转换为右值引用。
2、通过std::move,可以避免不必要的拷贝操作。
3、std::move是为性能而生。
4、std::move是将对象的状态或者所有权从一个对象转移到另一个对象,只是转移,没有内存的搬迁或者内存拷贝。
两个地址是独立的,move操作实际上是系统将这一块地址属于哪一个地址的登记改一下,实际上这一块内存根本没有发生任何变化。
打个比方,就好比说一个房产,原来登记在张三名下,“张三”就是地址。张三也有管理权。move就相当于过户。过户给李四后,“李四”就是这个房子的“地址”,管理权自然也交接给了李四。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。