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

杯子网站开发方案模板wordpress 默认文章形式

杯子网站开发方案模板,wordpress 默认文章形式,全国企业信用信息公示系统河北,贵德网站建设公司​​​​​​​ 目录 1--动态内存管理 2--shared_ptr类 2-1--make_shared 函数 2-2--引用计数 2-3--get 3--new和delete 4--shared_ptr和new结合使用 5--unique_ptr 6--weak_ptr 1--动态内存管理 new#xff1a;在动态内存中为对象分配空间并返回一个指向该对象的指…​​​​​​​ 目录 1--动态内存管理 2--shared_ptr类 2-1--make_shared 函数 2-2--引用计数 2-3--get 3--new和delete 4--shared_ptr和new结合使用 5--unique_ptr 6--weak_ptr 1--动态内存管理 new在动态内存中为对象分配空间并返回一个指向该对象的指针 delete接受一个动态对象的指针销毁该对象并释放与之关联的内存 C11新标准两类智能指针负责自动释放所指向的对象         ① shared_ptr允许多个指针指向同一个对象         ② unique_ptr指针独占所指向的对象         ③ weak_ptr指向 shared_ptr 所管理的对象是一种若引用不会递增引用计数 2--shared_ptr类 2-1--make_shared 函数 make_shared 函数在动态内存中分配一个对象并进行初始化返回指向该此对象的shared_ptr         使用 make_shared 必须显式指定对象的类型 std::shared_ptrint p std::make_sharedint(42); 2-2--引用计数 每个 shared_ptr 都有一个关联的计数器其称为引用计数当拷贝一个 shared_ptr 时计数器会递增当用一个 shared_ptr 初始化另一个 shared_ptr或者将其作为参数进行传递以及作为函数的返回值时都会使关联的计数器递增当给 shared_ptr 赋予一个新值或是 shared_ptr 被销毁即离开局部作用域时计数器会递减         当一个 shared_ptr 的计数器为 0 时会自动释放管理的对象 2-3--get get 函数返回一个内置指针指向智能指针管理的对象get 用来将指针的访问权限传递给代码只有确定代码不会 delete 指针的情况下才能使用 get。 std::shared_ptrint p(new int(42)); int *q p.get(); {std::shared_ptrint(q); }// 程序块结束q被销毁 int foo *p; // 未定义p指向的内存已经被释放 3--new和delete new 无法为其分配的对象命名只返回一个指向该对象的指针         默认情况下动态分配的对象是默认初始化的没有默认构造函数的内置类型将是未定义的         对动态分配的对象进行值初始化只需在类型名后跟一对空括号即可 int *pi1 new int; // 默认初始化*pi1的值未被定义 int *pi2 new int(); // 值初始化*pi2的值为0 delete 销毁给定指针所指向的对象并释放对应的内存         当 delete 一个指针后指针变为空悬指针指向一块曾经保存数据对象但已无效的内存的指针对 delete 后的指针赋予 nullptr 表明指针不指向任何对象避免空悬指针的相关问题 int *p(new int(42)); // p 指向动态内存 auto q p; // p和q指向相同的内存 delete p; // p和q均变为无效 p nullptr; // 指出 p 不再指向任何对象 4--shared_ptr和new结合使用 可以使用 new 返回的指针来初始化智能指针接受指针参数的智能指针构造函数是 explicit 的即必须使用直接初始化形式来初始化智能指针不能通过内置指针隐式转换为一个智能指针 std::shared_ptrint p1 new int(1024); // 错误 std::shared_ptrint p2(new int(1024)); // 正确// 错误 std::shared_ptrint clone(int p){return new int(p); }// 正确 std::shared_ptr clone(int p){return std::shared_ptrint(new int(p)); } 5--unique_ptr 不同于 shared_ptr某个时刻只能有一个 unique_ptr 指向一个给定的对象         定义 unique_str 时需要将其绑定到一个 new 返回的指针上初始化 unique_ptr 必须采用直接初始化形式 std::unique_ptrint p(new int(42)); 由于 unique_str 拥有它指向的对象因此 unique_ptr 不支持普通的拷贝或赋值操作         不能拷贝或赋值 unique_ptr但可以通过调用 release 或 reset 将指针的所有权从一个unique_ptr 转移到另一个 unique_ptr         // 所有权从 p1 转移给 p2release 将p1置为空 std::unique_ptrstd::string p2(p1.release());std::unique_ptrstd::string p3(new std::string(xxxxx)); p2.reset(p3.release()); // p2释放原来指向的内存所有权从p3转移给p26--weak_ptr weak_ptr 指向由一个 shared_ptr 管理的对象将一个 weak_ptr 绑定到一个 shared_ptr 不会改变 shared_ptr 的引用计数一旦 shared_ptr 的引用计数为0weak_ptr也会相应自动释放         使用 weak_ptr 访问对象前必须调用 lock 判断对象是否存在如果对象存在lock 返回一个指向共享对象的 shared_ptr auto p std::make_sharedint(42); std::weak_ptrint wp(p); // wp若共享pp的引用计数未改变 if(std::shared_ptrint np wp.lock()){.... // np 与 p 共享对象 }
http://www.hkea.cn/news/14384659/

相关文章:

  • h5高端网站建设视频号视频二维码
  • 凡科建设网站的步骤php免费开源crm系统
  • 常德市建设工程造价网站百度识图 上传图片
  • 做内部优惠券网站赚钱吗aspnet网站模板
  • 帮做论文网站吗商城开发哪家好
  • 网站制作厦门电商分销系统
  • 网站做聚合页面方案如何写广州市官网网站建设哪家好
  • 婚纱网站排行网站建设团队扬州
  • 安徽省建设工程造价管理协会网站个人网站源码进一品资源
  • 大连市网站制作电话楼市最新消息2023
  • 安平县做百度网站电话站长工具友链查询
  • 福州专业网站建设推广费用好用建站模板
  • 杭州旅游团购网站建设dw做网站的流程
  • seo站长常用工具公司网站SEO优化哪个做得好
  • 私人网站开发公司制作app开发制作
  • wordpress如何开发手机扬中网站优化哪家好
  • 山海关城乡建设局网站建设网站目标
  • 建设项目环境影响网站搜索引擎优化举例说明
  • 湛江手机网站建设公司游戏 网站 模板
  • 百度搜索网站图片国外小型网站
  • 响应式网站是指自适应吗互联网行业怎么赚钱
  • 项目推广方案怎么写重庆seo整站优化
  • 外贸网站建设青岛百安居装修口碑怎么样
  • 联想官方服务网站推广网站的网址和网鱼相匹配
  • 通付盾 建设公司网站国外网站建设嫣语赋
  • 网站是不是每年都要续费企业网站排名优化方案
  • 经营网站建设做论坛网站4g空间够不够用
  • 物流网站开发实训视频做网站
  • 做片头网站响应式网站建设外文文献
  • 最简单的网站怎么做中国移动手机支付网站