当前位置: 首页 > wzjs >正文

深圳建筑设计找工作哪个招聘网站网站建设 尚瑞科技

深圳建筑设计找工作哪个招聘网站,网站建设 尚瑞科技,淘客网站超级搜怎么做,邻水网站建设文章目录 **C 移动语义(通俗版)****1. 为什么需要移动语义?****2. 怎么“偷”?——右值引用(&&)****3. 如何实现移动语义?——移动构造函数/赋值****4. 什么时候触发移动?**…

文章目录

      • **C++ 移动语义(通俗版)**
        • **1. 为什么需要移动语义?**
        • **2. 怎么“偷”?——右值引用(`&&`)**
        • **3. 如何实现移动语义?——移动构造函数/赋值**
        • **4. 什么时候触发移动?**
        • **5. 移动 vs 拷贝**
      • **一句话总结**

C++ 移动语义(通俗版)

1. 为什么需要移动语义?

传统拷贝(=)会复制整个对象,但如果对象很大(如 vector<string>),拷贝开销大。
移动语义的核心思想:“偷资源”,避免不必要的深拷贝,提升性能。


2. 怎么“偷”?——右值引用(&&
  • 右值(临时对象、字面量等) 的生命周期短,可以安全“偷”它的资源。
  • 右值引用 && 用来绑定右值,表示“这个值可以移动”。

示例:

std::string s1 = "Hello";
std::string s2 = std::move(s1);  // 把 s1 的资源“偷”给 s2
  • s1 变成空(资源被移动),s2 直接接管原内存,没有拷贝

3. 如何实现移动语义?——移动构造函数/赋值

类需要定义移动构造函数移动赋值运算符

class MyObject {
public:// 移动构造函数(参数是右值引用)MyObject(MyObject&& other) noexcept {data_ = other.data_;  // 直接“偷”指针other.data_ = nullptr;  // 原对象置空}// 移动赋值运算符MyObject& operator=(MyObject&& other) noexcept {if (this != &other) {delete data_;      // 释放自己的资源data_ = other.data_;  // “偷”对方的资源other.data_ = nullptr;}return *this;}private:int* data_;  // 假设管理动态内存
};

关键点:

  • 直接“窃取”资源(如指针),避免深拷贝。
  • 把原对象的资源置空(防止重复释放)。

4. 什么时候触发移动?
  • 显式移动std::move(obj) 强制转成右值引用。
  • 隐式移动:函数返回临时对象时(编译器优化)。

示例:

std::vector<int> createBigVector() {std::vector<int> v = {1, 2, 3, 4, 5};return v;  // 编译器可能优化为移动(而非拷贝)
}auto v = createBigVector();  // 移动构造,无拷贝

5. 移动 vs 拷贝
拷贝移动
操作深复制(完整备份)“偷”资源(直接接管)
开销高(内存、时间)低(仅指针交换)
原对象保持不变被置空(资源转移)

一句话总结

移动语义通过 &&std::move “偷”临时对象的资源,避免深拷贝,提升性能。
适用于管理动态内存的类(如 vectorstring、自定义资源类)。


文章转载自:

http://5cqzS2DZ.Lcxzg.cn
http://dAiHoX0z.Lcxzg.cn
http://5hFjxK3t.Lcxzg.cn
http://WzBLNapi.Lcxzg.cn
http://zRdtoiwS.Lcxzg.cn
http://rEAlGLQe.Lcxzg.cn
http://XY2iyBcx.Lcxzg.cn
http://24ImpXgn.Lcxzg.cn
http://xz47Raep.Lcxzg.cn
http://VgDC5YnA.Lcxzg.cn
http://X9ldcPKb.Lcxzg.cn
http://vXvDxTIY.Lcxzg.cn
http://AYAIQtBF.Lcxzg.cn
http://sZEwkIYD.Lcxzg.cn
http://7vcZIX2C.Lcxzg.cn
http://sUVdjso1.Lcxzg.cn
http://DzflswlU.Lcxzg.cn
http://MP00vEMO.Lcxzg.cn
http://uaH2JYT5.Lcxzg.cn
http://kE0MmEf9.Lcxzg.cn
http://cgKAFdCx.Lcxzg.cn
http://MmlB7XQq.Lcxzg.cn
http://wOFwjYrG.Lcxzg.cn
http://VH4uxMuE.Lcxzg.cn
http://Wx73iJyx.Lcxzg.cn
http://QPgwSxgk.Lcxzg.cn
http://JfVJx7aM.Lcxzg.cn
http://t3q8oHcj.Lcxzg.cn
http://mIulNkYT.Lcxzg.cn
http://DyVZE4MC.Lcxzg.cn
http://www.dtcms.com/wzjs/631297.html

相关文章:

  • 正规网站建设哪家好怎样创建一个国际网站
  • 泊头公司做网站请人做网站需要多少钱
  • 像乐视做硬件的视频网站吉林市城市建设档案馆官方网站
  • wordpress微信公众号企业版口碑seo推广公司
  • 中国联通网站备案管理系统东莞展馆设计公司
  • 永兴网站建设做网站公司找意向客户
  • 网络营销推广咨询收费标准seo数据优化
  • 这么开网站烟台百度建网站
  • 优秀国外网站网上商城该怎么推广
  • 重庆网站备案桂林模板网站建设
  • 广西南宁网站优化网站备案服务内容
  • wordpress全站静态化宁波网页美工培训
  • 婚庆公司网站模板高端小程序建设公司
  • 企业网站开发说明wordpress的域名不备案
  • 网站seo优化合同淘宝怎么做引流和推广
  • PHP+Ajax网站开发典型实例全国做网站公司前十名
  • 物流公司网站建设系统规划那个网站建设好
  • 写文案要看的网站怎样自己做公司网站
  • 网站备案有什么好处理网站制作费用多少
  • 河源市做网站wordpress编辑写文章失败
  • 个人网站设计与实现结论滁州seo优化
  • 网站 成功案例seo排名优化北京
  • 网站优化怎样的湖南建设监理协会网站
  • 第三方网站开发优缺点优质的外国网站
  • 吉他谱网站如何建设WordPress缩略图太模糊
  • 网站建设中 英文深圳外贸建设网站
  • 如何查看一个网站的浏览量百度开放云做网站
  • 自己想做一个网站怎么做企业组织架构
  • 朋友圈海报用什么网站做的昆明优化网站公司
  • 推广业务网站建设网站建设的步骤过程视频