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

东莞市建设企业网站服务机构安卓排名优化

东莞市建设企业网站服务机构,安卓排名优化,网站策划书内容不包括什么,国内新闻最新消息今天热点大事我们以Connection类的shared智能指针为例说明&#xff0c;std::enable_shared_from_this<Connection> 是一个标准库模板类&#xff0c;它的作用是让一个类的对象能够安全地生成指向自身的 std::shared_ptr&#xff0c;即使该对象最初是通过普通指针或其他方式创建的。 作…

我们以Connection类的shared智能指针为例说明,std::enable_shared_from_this<Connection> 是一个标准库模板类,它的作用是让一个类的对象能够安全地生成指向自身的 std::shared_ptr,即使该对象最初是通过普通指针或其他方式创建的。

作用

  1. 安全生成 std::shared_ptr:当一个对象已经被 std::shared_ptr 管理时,调用 shared_from_this() 方法可以生成一个新的 std::shared_ptr,而不会创建新的引用计数。
  2. 避免重复管理:如果直接用 std::shared_ptr 包装一个已经被 std::shared_ptr 管理的对象,会导致引用计数不一致,可能引发未定义行为。

底层原理

  1. 内部弱引用std::enable_shared_from_this 内部维护了一个 std::weak_ptr,指向当前对象。当 std::shared_ptr 管理该对象时,这个弱引用会被初始化。
  2. shared_from_this():调用 shared_from_this() 时,std::weak_ptr 会被提升为 std::shared_ptr,从而安全地返回一个共享指针。
  3. 绑定生命周期:只有当对象被 std::shared_ptr 管理时,shared_from_this() 才能正常工作。如果对象未被 std::shared_ptr 管理,调用 shared_from_this() 会导致未定义行为。

示例

#include <iostream>
#include <memory>class MyClass : public std::enable_shared_from_this<MyClass> {
public:std::shared_ptr<MyClass> getShared() {return shared_from_this();}
};int main() {auto obj = std::make_shared<MyClass>();auto sharedObj = obj->getShared();std::cout << "Use count: " << sharedObj.use_count() << std::endl; // 输出 2return 0;
}

注意事项

  • 必须确保对象是通过 std::shared_ptr 创建的,否则调用 shared_from_this() 会导致未定义行为。
  • 适用于需要在类内部生成 std::shared_ptr 的场景,例如回调函数或异步操作中需要延长对象生命周期的情况。
http://www.dtcms.com/wzjs/343480.html

相关文章:

  • 杭州建设厅网站网络推广有哪些途径
  • 电子商务网站策划书百度搜索智能精选入口
  • 大连做网站 首选领超科技谷歌ads
  • 织梦网站后台打不开百度搜索网址
  • 建设门户网站发展前景2018做抖音seo排名软件是否合法
  • 用动易做的诗歌协会网站网站优化建议怎么写
  • 苏州保洁公司哪家好一点商丘网站seo
  • 学做美食看哪个网站南昌seo优化
  • 网站开发组合 lampseo短期课程
  • 求职网站开发开题报告it人必看的网站
  • 购物网站为什么做移动端百度网站推广关键词怎么查
  • 金融网站建设方案书长春网站推广排名
  • 怎么学做一件完整衣服网站聊城seo
  • 西宁做网站君博示范电商网站首页
  • 取名算命网站的源代码asp+access百度seo公司哪家最好
  • 免费网站建设平台简述常用的网络营销方法
  • 安卓系统appwin优化大师有免费版吗
  • 钓鱼网站查询系统网页平台做个业务推广
  • wordpress完全单页深圳aso优化
  • 做网站软件_手机想学互联网从哪里入手
  • 青海城乡建设部网站平台推广网站
  • 怎么给网站做压力测试官网优化 报价
  • 郑州网站建设网络推广合肥seo按天收费
  • 鄢陵县北京网站建设内蒙古seo优化
  • wordpress可以做门户网站如何优化网站快速排名
  • 广州h5设计网站公司国外网站推广平台有哪些?
  • 广州网站建设哪家好sem与seo的区别
  • 天津做网站seo的自己怎么做游戏推广赚钱
  • 河间申梦网站建设制作网络推广优化工具
  • 买域名自己做网站东莞网络公司网络推广