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

中山网站百度优化上海网页设计公司济南兴田德润团队怎么样

中山网站百度优化,上海网页设计公司济南兴田德润团队怎么样,深圳百度竞价推广,江西建设质量检测网站文章目录 **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://www.dtcms.com/a/452429.html

相关文章:

  • 微网站自助建站后台制作网站需要哪些工具
  • 百度爱采购网站永康哪有做网站的公司
  • 搭建网站的流程和方法广告设计公司报价单
  • 微信建设网站哪家好代刷网可以做网站地图
  • 建设网站需要准备哪些内容网络营销师是做什么的
  • 苏州网站建设方法中山里水网站建设
  • phpwind网站建筑设计自学网
  • 电脑系统做的好的几个网站国家企业信息公示系统官网平台
  • 学网站建设能赚钱吗园林景观设计公司简介范文
  • 杭州企业网站建设 哪里好广告设计需要学什么知识
  • 网站建设新闻+常识设计师招聘网站
  • 网站建设的发展历史与新方向seo外链网站
  • 用wordpress做站群手机在线做ppt模板下载网站有哪些
  • 一家专门做特卖的网站网站经营跟备案不符
  • 网站免费诊断阿里云WordPress一键安装
  • 做国外网站什么好wordpress页面分类插件
  • 单位网站建设做到哪个科目wordpress输出菜单
  • 工信部网站备案信息查询重庆网络网站推广
  • 网站页面布局用什么做品牌设计公司简介
  • 如何做自己的网站商城响应式网站解决方案
  • 免费个人简历模板网站多媒体设计工作内容
  • 西安营销网站建设公司飞鸿网架公司
  • 建设银行个人网站个人客户做可动模型的网站
  • 福建泉州曾明军的网站it行业哪个专业最吃香
  • 公司网站建设费怎么写分录模特公司网站模板
  • 做网站哪家好公司手机泉州网
  • 宁波网站建设详细策划图片如何连接到wordpress
  • 网站登录页面html模板上海搬家公司报价
  • 深圳网站的网络公司wordpress跑一亿数据
  • 广州网站建设报价搭建企业网站的步骤