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

网站建设富库网站优化培训好学吗

网站建设富库,网站优化培训好学吗,网站首页轮播图片,重庆网站制作和推广公司1)std::unique_ptr(独占所有权) 特点: 独占资源的所有权,同一时间只能有一个 unique_ptr 指向特定对象。 不可复制,但可以通过 std::move 转移所有权。 轻量级,几乎无额外开销(与…

1)std::unique_ptr(独占所有权)

特点:

独占资源的所有权,同一时间只能有一个 unique_ptr 指向特定对象。

不可复制,但可以通过 std::move 转移所有权。

轻量级,几乎无额外开销(与裸指针性能接近)。

2)std::shared_ptr(共享所有权)

特点:

通过引用计数实现多个指针共享同一资源。

当最后一个 shared_ptr 被销毁时,资源自动释放。

支持自定义删除器(如文件句柄、网络连接等)。

3)std::weak_ptr(弱引用)

特点:

不拥有资源的所有权,不增加引用计数。

需通过 lock() 方法转换为 shared_ptr 以访问资源(防止访问已释放对象)。

测试用例

weak_ptr解决循环引用和lock获取shared_ptr

class B; // 前向声明class A
{
public:std::shared_ptr<B> b_ptr;A() { std::cout << "A 构造" << std::endl; }~A() { std::cout << "A 析构" << std::endl; }void who(){ std::cout << "I'm A " << std::endl; }
};class B
{
public:std::weak_ptr<A> a_ptr; // 使用 weak_ptr 替代 shared_ptrB() { std::cout << "B 构造" << std::endl; }~B() { std::cout << "B 析构" << std::endl; }void who(){ std::cout << "I'm B " << std::endl; }
};int main(int argc, char *argv[])
{auto a = std::make_shared<A>();auto b = std::make_shared<B>();a->b_ptr = b;b->a_ptr = a; // 不会增加引用计数if (auto spt = b->a_ptr.lock()){ // 转换为 shared_ptrspt->who();}else{std::cout << "对象已被释放" << std::endl;}// 退出作用域时,a 和 b 都能正常析构return 0;
}

shared_ptr和unique_ptr的初始化

class Test
{public:Test(int time = 0) : time_(time){std::cout << "Test: " << time_ << std::endl;}~Test(){std::cout << "~Test: " << time_ << std::endl;}int time_;
};int main(int argc, char *argv[])
{std::shared_ptr<Test> p0 = std::make_shared<Test>(1);std::unique_ptr<Test> p1;p1.reset(new Test(-1));std::unique_ptr<Test> p2(new Test);//p1 = p2;//error: use of deleted function ‘std::unique_ptr<_Tp, _Dp>& std::unique_ptr<_Tp, _Dp>::operator=(const std::unique_ptr<_Tp, _Dp>&) [with _Tp = Test; _Dp = std::default_delete<Test>]’return 0;
}


文章转载自:

http://uy2IW0nq.bpmdg.cn
http://Y2dJKjC7.bpmdg.cn
http://xxZExDlb.bpmdg.cn
http://AAe9liUK.bpmdg.cn
http://LpQGCQCV.bpmdg.cn
http://t3HJpOAO.bpmdg.cn
http://Ff7Br2Pu.bpmdg.cn
http://mf4uYW26.bpmdg.cn
http://NFcB5Qm0.bpmdg.cn
http://maQsCC2s.bpmdg.cn
http://AYWFTm5W.bpmdg.cn
http://85Kg3aSK.bpmdg.cn
http://kYgHC7Y9.bpmdg.cn
http://lHqTRP4k.bpmdg.cn
http://c3awySMB.bpmdg.cn
http://MGSxRR4U.bpmdg.cn
http://b5fDbudS.bpmdg.cn
http://7gWHspnK.bpmdg.cn
http://ZiioxK4b.bpmdg.cn
http://5O3idouw.bpmdg.cn
http://sFrpWV8w.bpmdg.cn
http://8u6CbYOv.bpmdg.cn
http://8S3ZFbLk.bpmdg.cn
http://p1Xqo8HT.bpmdg.cn
http://4dteHPGh.bpmdg.cn
http://wHwPKTW9.bpmdg.cn
http://a0npSfIa.bpmdg.cn
http://UFz1ta4l.bpmdg.cn
http://uB4mC6dQ.bpmdg.cn
http://tXxdvuB9.bpmdg.cn
http://www.dtcms.com/wzjs/762297.html

相关文章:

  • 如何建设网站论坛wordpress官方主题论坛
  • 卖渔具的亲戚做网站免费云电脑(可玩大型游戏)
  • wordpress本站运行台州企业网站搭建电话
  • 班级网站做哪些方面网站页尾内容
  • vs和sql做购物网站如何增加网站转化率
  • 制作网站需要wordpress百度联盟怎么赚钱
  • 为什么网站突然打不开wordpress 右拉
  • 东莞网站建设推广咨询平台静态网站入侵教程
  • 国外大型网站注册完域名 如何做网站
  • 做视频直播网站需要多少资金单位门户网站功能
  • ps做图下载网站有哪些展厅展台设计搭建
  • 黑河做网站哪家好wordpress编辑小工具代码
  • 国外ui界面设计网站冯耀宗seo视频教程
  • 新手学做网站视频什么叫营销模式
  • 如何自己写一个网站手机开发小程序
  • 网站被国内软件开发公司排行
  • 精品课程网站的设计与实现网站建设小组实验报告
  • 网站总体设计网站自适应手机怎么
  • 绍兴高新区建设网站百度推广下载
  • 手机wap网站 分页wordpress分类目录样式模板
  • html网站登录界面模板下载四川城乡和住房建设厅网站首页
  • 网站与建设实训报告安陆市网站
  • 关于网站策划书描述准确的有网站建设类的职位
  • linux建设网站php打开提示404nginx运行wordpress
  • 做农家乐网站番禺核酸检测点在哪
  • 怎么自己做直播网站吗wordpress保存php失败
  • 网站托管服务合同合肥网站制作费用
  • 做数据图表网站即时设计在线设计
  • 百度网站推广费用多少钱徐州网络建站模板
  • wp建站网站建设要学哪些软件有哪些方面