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

做攻略的网站抖音信息流广告怎么投放

做攻略的网站,抖音信息流广告怎么投放,泰州网站建设哪家好,wordpress更新提示ftp引言 前面两篇介绍了std::unique_ptr的自定义删除器以及如何优化删除器的使用。本文将介绍std::unique_ptr在使用过程中的一些“奇技淫巧”。 正文 删除器和std::move std::move是将对象的所有权转移给另一个对象,那如果通过std::move来转移带自定义删除器的std::…

引言

前面两篇介绍了std::unique_ptr的自定义删除器以及如何优化删除器的使用。
本文将介绍std::unique_ptr在使用过程中的一些“奇技淫巧”。

正文

删除器和std::move

std::move是将对象的所有权转移给另一个对象,那如果通过std::move来转移带自定义删除器的std::unique_ptr对象时,对应的删除器会不会一起转移呢?

我们通过示例定义奇偶数的删除器来介绍:

void deleteEvenNumber(int* pi)
{std::cout << "Delete even number " << *pi << '\n';delete pi;
}void deleteOddNumber(int* pi)
{std::cout << "Delete odd number " << *pi << '\n';delete pi;
}using IntDeleter = void(*)(int*);
using IntUniquePtr = std::unique_ptr<int, IntDeleter>;int main() {{IntUniquePtr p1(new int(42), deleteEvenNumber);IntUniquePtr p2(new int(43), deleteOddNumber);p1 = move(p2);}return 0;
}

上面这个示例中,如果把p1 = move(p2);代码注释掉,它的结果是:

Delete odd number 43
Delete even number 42

如果把代码还原回去后,结构是:

Delete even number 42
Delete odd number 43

从上面两个结果来看,std::move不仅把对象的所有权转移了,同时也转移了删除器。

删除器和reset()

std::unique_ptrreset()函数是用来重置智能指针的状态和其管理的对象。如果unique_ptr定义了删除器,然后调用reset()会出现什么效果呢?
还是用上面的示例,修改main()函数:

int main() {{IntUniquePtr p1(new int(42), deleteEvenNumber);p1.reset(new int(43));}return 0;
}

结果是:

Delete even number 42
Delete even number 43

这个结果就说明reset()不会对删除器产生任何影响。
但是这就产生一个问题,重置后的值并不是偶数,对应的删除器已经不符合需求了,但是reset()又只能传一个参数,没有通过reset()重置删除器,那要怎么解决呢?

方案一:

因为std::unique_ptr提供了get_deleter()函数来返回删除器的引用,所以我们可以通过该接口来手动修改删除器:

int main() {{IntUniquePtr p1(new int(42), deleteEvenNumber);p1.reset(new int(43));p1.get_deleter() = deleteOddNumber;}return 0;
}

运行结果:

Delete even number 42
Delete odd number 43

方案二:

第二种方案是用赋值来代替reset()

int main() {{IntUniquePtr p1(new int(42), deleteEvenNumber);p1 = IntUniquePtr(new int(43), deleteOddNumber);}return 0;
}

运行结果:

Delete even number 42
Delete odd number 43
http://www.dt0577.cn/news/9113.html

相关文章:

  • 苍溪网站建设网络营销有哪些模式
  • 网站开发需求说明站长素材
  • 制作移动网站公司360站长平台
  • 网站开发设计软件网站百度不收录的原因
  • 做平面资源比较好的网站免费正规大数据查询平台
  • 阳江哪里做网站百度网盘免费下载
  • 网站建设方式广东省人大常委会
  • 网站推广策划方案3000字武汉建站公司
  • ecshop 网站价格磁力兔子
  • 电子商务平台中搜索词拆解包括武汉网站推广优化
  • 如何搭建局域网服务器seo搜索引擎优化推荐
  • phpnow搭建wordpress郑州seo外包
  • 企业网站个人可以备案吗惠州市seo广告优化营销工具
  • 在线做ppt的网站网站建设的好公司
  • 郑州网站开发比较好的网络公司什么是seo营销
  • 自己动手做网站sem竞价推广代运营收费
  • 期刊类网站建设抖音seo推荐算法
  • 那个网站做粮油批发APP网络营销策略论文
  • 怎么做网站可以注册的dw网页制作教程
  • 做网站3年3万百度网站官网入口网址
  • 宝安中心做网站seo关键词推广方式
  • wordpress用户名怎么起浙江seo外包
  • 网站建设期末实践报告免费自学电商教程
  • 做响应式网站的设计网站推荐
  • 做电商网站必需知道qc网络推广外包费用
  • 中华室内设计网招聘汉川seo推广
  • 网页设计图片位置分析网站推广和优化的原因
  • 建设网站公司价格百度小说排行榜完本
  • 网站建设开发原代码归属百度关键词刷排名软件
  • 商城网站建设计划书域名申请的流程