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

shopbase建站费用台州seo快速排名

shopbase建站费用,台州seo快速排名,网站建设前的ER图,网站的尺寸智能指针 1.定义 ​ C中的智能指针是一种用于自动管理动态分配的内存的模板类,它们通过封装原始指针来提供自动的内存管理功能,从而避免了内存泄漏和悬挂指针等问题。C标准库中提供了几种智能指针类型,其中最常用的是std::unique_ptr、std:…

智能指针

1.定义

​ C++中的智能指针是一种用于自动管理动态分配的内存的模板类,它们通过封装原始指针来提供自动的内存管理功能,从而避免了内存泄漏和悬挂指针等问题。C++标准库中提供了几种智能指针类型,其中最常用的是std::unique_ptrstd::shared_ptrstd::weak_ptr

​ C++智能指针是在C++11版本中引入的。C++11及以后版本废弃了C++98中的auto_ptr,并从Boost标准库中引入了shared_ptrunique_ptrweak_ptr三种智能指针,以提供更强大和灵活的内存管理机制。

2.std::unique_ptr

  • 表示对对象的独占所有权,同一时间内只有一个std::unique_ptr可以指向某个给定对象。
  • std::unique_ptr被销毁时,它所指向的对象也会被自动删除。
  • 禁止复制构造和赋值操作,但支持移动语义。
#include <memory>  
#include <iostream>  class MyClass {  
public:  MyClass() { std::cout << "MyClass created\n"; }  ~MyClass() { std::cout << "MyClass destroyed\n"; }  void sayHello() { std::cout << "Hello!\n"; }  
};  int main() {  std::unique_ptr<MyClass> ptr(new MyClass());  ptr->sayHello();  // 当ptr离开作用域时,MyClass对象被自动删除  return 0;  
}

3.std::shared_ptr

  • 表示对对象的共享所有权,允许多个std::shared_ptr实例指向同一个对象。
  • 内部维护一个引用计数,用于记录当前有多少个std::shared_ptr实例指向该对象。
  • 当最后一个指向该对象的std::shared_ptr被销毁时,引用计数变为0,对象将被自动删除。
  • 支持复制构造和赋值操作,每次操作都会增加或减少引用计数。
#include <memory>  
#include <iostream>  class MyClass {  
public:  MyClass() { std::cout << "MyClass created\n"; }  ~MyClass() { std::cout << "MyClass destroyed\n"; }  void sayHello() { std::cout << "Hello!\n"; }  
};  int main() {  std::shared_ptr<MyClass> ptr1 = std::make_shared<MyClass>();  std::shared_ptr<MyClass> ptr2 = ptr1; // ptr2和ptr1共享对象  ptr1->sayHello();  // 当ptr1和ptr2都离开作用域时,MyClass对象被自动删除  return 0;  
}

4.std::weak_ptr

  • 是一种不拥有其所指对象的智能指针,主要用于解决std::shared_ptr之间的循环引用问题。
  • 不增加对象的引用计数,因此不会影响对象的生命周期。
  • 可以通过lock()成员函数尝试获取一个指向对象的std::shared_ptr,如果此时对象仍存在,则返回一个指向该对象的std::shared_ptr,否则返回一个空的std::shared_ptr
// 示例中省略了完整的类和对象定义,只展示weak_ptr的用途  
std::shared_ptr<A> ptrA = std::make_shared<A>();  
std::shared_ptr<B> ptrB = std::make_shared<B>();  ptrA->b_ptr = std::weak_ptr<B>(ptrB); // 使用weak_ptr避免循环引用  
ptrB->a_ptr = ptrA;  // ...  if (auto lockedPtr = ptrA->b_ptr.lock()) {  // 如果B对象还存在,lockedPtr将是一个非空的shared_ptr  
}
http://www.ds6.com.cn/news/94519.html

相关文章:

  • 重庆做网站及公众号公司百度q3财报2022
  • 宝安自适应网站建设运营是做什么的
  • 贵州最好的网站建设推广公司哪家好开发网站的流程是
  • 政府网站建设比较好的手机网络优化软件
  • 网站招聘顾问做啥的碉堡了seo博客
  • 做汽车配件外贸用什么网站大数据下的精准营销
  • 婚恋网站怎么做推广渠道有哪些
  • 做网站的专业术语seo推广如何做
  • 西宁网络公司做网站哪家好seo推广优化排名软件
  • 网站如何设置长尾词网站外链优化方法
  • 龙湾区建设局的网站买淘宝店铺多少钱一个
  • 做阿里巴巴网站 店铺装修免费吗海外网站cdn加速
  • 广州市越秀区建设局网站百度客服怎么转人工
  • 上海报纸云优客seo排名公司
  • app在线生成网站优化方案官网
  • 网站目录做别的内容网站服务器信息查询
  • 自己建的网站能用吗迅雷磁力链bt磁力种子
  • 正规绍兴网站建设公司城关网站seo
  • 购物型网站怎么建立1688如何搜索关键词排名
  • 搭建网站需要什么微信推广方法
  • b2c网站怎么制作网站seo在线诊断
  • 百度网站提交入口中山网站建设
  • 做网站什么系统好网站开发的流程
  • 如何做网站模版专业地推团队
  • 建立网站需要哪些seo关键技术有哪些
  • 怎么改网站模板关键词搜索趋势
  • ps做网站对齐技巧免费做网页的网站
  • 公司网站建设审批流程软文推广的100个范例
  • 收录快的网站360网站推广费用
  • java建设网站的步骤桂平seo关键词优化