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

名师工作室网站建设现状调查室内设计意向图网站

名师工作室网站建设现状调查,室内设计意向图网站,网站后台管理系统免费下载,精美word模板免费下载文章目录STD容器使用右值引用场景移动语义在容器中的使用主要体现在两个方面#xff1a;移动构造函数和移动赋值运算符。移动语义只对右值有效#xff0c;对左值无效原因STD容器使用右值引用场景 移动语义在容器中的使用主要体现在两个方面#xff1a;移动构造函数和移动赋… 文章目录STD容器使用右值引用场景移动语义在容器中的使用主要体现在两个方面移动构造函数和移动赋值运算符。移动语义只对右值有效对左值无效原因STD容器使用右值引用场景 移动语义在容器中的使用主要体现在两个方面移动构造函数和移动赋值运算符。 移动构造函数容器在插入元素时通常需要进行内存分配和对象构造操作。如果元素类型具有移动构造函数容器就可以使用移动构造函数来构造元素避免不必要的拷贝和销毁操作提高程序的性能和效率。 例如下面的代码中使用了移动构造函数来构造 std::vector 容器中的元素 #include iostream #include vector #include stringint main() {std::vectorstd::string v;std::string s hello;v.push_back(std::move(s)); // 使用移动构造函数构造元素std::cout s std::endl; // 输出空字符串return 0; }在这个示例中我们定义了一个 std::vector 容器和一个字符串对象 s并使用 push_back 函数将 s 移动到容器中。由于使用了移动构造函数s 的资源所有权被转移到容器中s 变成了一个空字符串。 移动赋值运算符容器在进行元素赋值时通常需要进行对象销毁和对象构造操作。如果元素类型具有移动赋值运算符容器就可以使用移动赋值运算符来赋值元素避免不必要的拷贝和销毁操作提高程序的性能和效率。 例如下面的代码中使用了移动赋值运算符来赋值 std::vector 容器中的元素 #include iostream #include vector #include stringint main() {std::vectorstd::string v;std::string s1 hello;std::string s2 world;v.push_back(s1);v[0] std::move(s2); // 使用移动赋值运算符赋值元素std::cout s2 std::endl; // 输出空字符串return 0; }在这个示例中我们定义了一个 std::vector 容器和两个字符串对象 s1 和 s2并使用 push_back 函数将 s1 插入到容器中。然后我们使用移动赋值运算符将 s2 赋值给容器中的元素。由于使用了移动赋值运算符s2 的资源所有权被转移到容器中s2 变成了一个空字符串。 需要注意的是移动语义只对右值有效对左值无效。因此在使用移动语义时需要注意对象的值类别。 移动语义只对右值有效对左值无效原因 移动语义的本质是将一个对象的资源所有权从一个对象转移到另一个对象避免不必要的复制和销毁操作提高程序的性能和效率。对于右值对象由于其不再被使用因此可以将其资源所有权转移到另一个对象避免了不必要的拷贝和销毁操作。 而对于左值对象由于其可能还会被使用因此不能将其资源所有权转移到另一个对象否则会导致程序出错。例如如果将一个左值对象的资源所有权转移到另一个对象那么原对象就不能再被使用这可能会导致程序出现未定义行为。 实例 当一个对象是左值时它通常是一个具有名称的变量或对象它在程序中可能还会被使用。例如 std::string s1 hello; std::string s2 s1; // 拷贝构造函数将 s1 的值拷贝给 s2在这个示例中s1 是一个左值对象它是一个具有名称的字符串变量。当我们将 s1 的值赋给 s2 时会调用拷贝构造函数将 s1 的值拷贝给 s2这是因为 s1 是一个左值对象不能将其资源所有权转移到另一个对象。 若转移了所有权 而当一个对象是右值时它通常是一个临时对象或表达式的结果它在程序中不再被使用。例如 std::string s1 hello; std::string s2 std::move(s1); // 移动构造函数将 s1 的值转移到 s2在这个示例中s1 是一个右值对象它是一个临时对象或表达式的结果。当我们将 s1 的值转移到 s2 时会调用移动构造函数将 s1 的值转移到 s2这是因为 s1 是一个右值对象可以将其资源所有权转移到另一个对象。由于 s1 不再被使用因此可以将其资源所有权转移到 s2避免了不必要的拷贝和销毁操作。 因此移动语义只对右值对象有效对左值对象无效。在使用移动语义时需要注意对象的值类别避免出现不必要的错误和问题。
http://www.hkea.cn/news/14576131/

相关文章:

  • 网络工程师的就业前景对新网站做seo大概需要多久
  • wap织梦手机网站重庆涪陵建设银行网站
  • 网站备案 怎么建站seo是什么职业岗位
  • 成都网站建设平台十度公司做网站怎么样
  • 做网站首选九零后网络discuz 转 wordpress
  • 广州网站建设的费用flash企业网站源码
  • 哪里可以做网站网络营销包括哪些
  • igem网站建设手机网站触屏版
  • 青岛网站建设平台wdcp网站备份
  • seo网站推广方案策划书游戏挂机赚钱一小时20
  • 建设银行官方网站个人系统板块课程设计登录页面
  • 建网站找哪家好快速网站建设哪家好
  • 新乡市建设工程网站人工智能培训机构排名
  • 企业网站建设的目的和意义沈阳妇科医院排名前十名
  • 相册插件wordpress黄冈seo顾问
  • 电商类公司网站应该怎么搭建好大夫在线网站官网做提眉的医生
  • 南海区建设局网站长沙做互联网平台
  • 诸暨市住房和城乡建设局网站政务公开与网站建设
  • 商城网站平台简述营销网站建设策略
  • 张掖专业做网站的公司百度推广课程
  • 企业网站推广的形式有哪些wordpress dns ip
  • 在win10下建设网站装修设计公司排行
  • 海报模板在线制作免费网站网站的建设公司
  • php可以做手机网站吗网站底部备案号
  • 廊坊网站公司福州网站建设软件
  • 专业做企业网站网站建设数据保存在哪儿
  • 什么是网站内容建设品牌运营策划
  • 怎么创建网站免费的吉林省建设标准化网站
  • 江苏建设厅老网站外贸网站推广怎么做
  • 用asp做网站优势自学网站开发需要多久