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

老师让做网站怎么做宜昌seo

老师让做网站怎么做,宜昌seo,自己怎么做独立网站,如何策划网站以前也看过一些 std::move 的介绍文章,总结下来一句话:std::move 没有任何代价。这个总结实在是坑人。 今天突然悟了,实际应用中悟的。如果写一个相关的教程,完全不应该从 std::move 入手,而是应该从如何降低对象拷贝…

以前也看过一些 std::move 的介绍文章,总结下来一句话:std::move 没有任何代价。这个总结实在是坑人。

今天突然悟了,实际应用中悟的。如果写一个相关的教程,完全不应该从 std::move 入手,而是应该从如何降低对象拷贝代价入手。

struct A {int m_a;int m_b;
};

如果要对 A 做拷贝,可以写成下面这样。对于这种情况,就算用了 std::move,也没有什么用。

A a1;
g_a2 = a1; // g_a2 是一个类成员

但是,对于下面这个结构,就不一样了:

struct A {int m_a;int m_b;char *m_s;
};

此时,下面的逻辑取决于 A 的拷贝构造函数实现,一般来说,会把 m_a, m_b, 直接赋值,m_s 则会做一个深拷贝。

A a1;
g_a2 = a1; // g_a2 是一个类成员

有些时候,我们不希望做深拷贝。浅拷贝行不行?一般来说是不行的。因为浅拷贝后 g_a2.m_sa1.m_s 会指向同一片内存区域,并且 a1 是栈变量,它析构后会释放 m_s 指向的内存,那么 g_a2 就会得到一个野指针。

怎么办呢?C++ 发明了一种“移动”语义,让 A 实现下面这样一个移动拷贝函数:

struct A {// 默认构造A() : m_a(0), m_b(0.0), m_s(nullptr) {}// 带参数构造A(int a, int b, const std::string& s) : m_a(a), m_b(b), m_s(new std::string(s)) {}~A() { delete m_s; } // 释放内存// 移动构造A(A&& other) {m_a = other.m_a;m_b = other.m_b;m_s = other.m_s;other.m_s = nullptr; // 关键之处,强行删掉 other.m_s 的指针,实现了内存的“移动”}// 移动赋值A& operator=(A&& other) {if (this != &other) { // 防止自赋值m_a = other.m_a;m_b = other.m_b;m_s = other.m_s;other.m_s = nullptr; // 关键之处,强行删掉 other.m_s 的指针,实现了内存的“移动”}return *this;}};

A 还可以这样定义这个函数:

struct A {void set(A&& other) {m_a = other.m_a;m_b = other.m_b;m_s = other.m_s;other.m_s = nullptr;}
};A a1;
g_a2.set(std::move(a1)); // g_a2 是一个类成员

所以,std::move 的确什么事情都不做,它只是提示编译器,去调用支持 move 语义的函数而已,具体做事情的,是这些函数。

Note:STL 中,vector 的 emplace_back、push_back 等也实现了支持 move 语义等版本。

http://www.dtcms.com/wzjs/438832.html

相关文章:

  • wordpress 引用页面湖南广告优化
  • 个人做网站多少钱百度商品推广平台
  • 学做ppt的网站有哪些免费网站可以下载
  • 检察 门户网站建设永久免费wap自助建站
  • 邵阳邵东网站建设域名查询万网
  • 信科网络广州建网站nba排名赛程
  • 企业网站建设的类型主要有济南seo小黑seo
  • 上海网站建设内容更新长沙百度提升排名
  • 微信开发文档官网谷歌seo搜索引擎
  • 蓬莱网站建设公司爱站网
  • 做国际网站怎么发货线上商城推广软文
  • 上海静安网站建设百度指数的主要功能有
  • 公司网站建设工作通知网址推荐
  • 网站后台更新缓存失败百度小说排行榜前十
  • wordpress 菜单 数据库廊坊seo
  • 企业官网和小程序的商城版本的区别seo导航
  • 青岛有没有专门做淘宝网站惠州网络营销公司
  • 网站咨询聊天怎么做打开免费百度啊
  • 不收费的企业查询网站免费seo网站推广在线观看
  • asp.net网站搬迁到移动终端房地产销售技巧和话术
  • 最专业网站建设公司怎么优化整站
  • 服务器租用网站模版代理广告投放平台
  • 建设购物网站流程公司推广方案
  • 高校网站建设资料库百度网络营销中心客服电话
  • 汶上手机网站建设自己做一个网站
  • php如何自学做网站营销策划书范文案例
  • 网站备案要幕布泰州百度seo公司
  • 淘宝网页设计模板图片seo平台
  • 做响应式网站设计师如何布局呢广州市口碑seo推广
  • 网页设计与网站建设入门到精通广东疫情最新情况