个人网站免费的吗墨子学院seo

pingmian/2025/10/13 17:43:35/文章来源:
个人网站免费的吗,墨子学院seo,园林绿化效果图制作,建设项目竣工验收公示网站面试题14#xff1a;什么是 RAII 编程方法 RAII#xff08;Resource Acquisition Is Initialization#xff09;是C的发明者 Bjarne Stroustrup 提出的概念,也称为资源获取就是初始化#xff0c;是一种管理资源、避免泄漏的编程方法。 它的基本思想是在对象的构造函数中获…面试题14什么是 RAII 编程方法 RAIIResource Acquisition Is Initialization是C的发明者 Bjarne Stroustrup 提出的概念,也称为资源获取就是初始化是一种管理资源、避免泄漏的编程方法。 它的基本思想是在对象的构造函数中获取资源并在对象的析构函数中释放资源。通过这种方式资源管理被封装在对象的生命周期中从而简化了资源的获取和释放避免了手动管理资源时可能出现的错误。 RAII 的核心思想是将资源的生命周期与对象的生命周期绑定在一起。当对象被创建时它会自动获取所需的资源当对象被销毁时它会自动释放所拥有的资源。这种方式可以确保资源的正确获取和释放避免了资源泄漏和内存泄漏等问题。 比如针对上面章节中在释放内存前有返回操作的场景使用 RAII 编程方法可以作如下代码调整 #include iostreamclass SmartVal { public:SmartVal(){printf(automatically apply for memory\n);m_val new int;}~SmartVal(){if (nullptr ! m_val){printf(automatically release for memory\n);delete m_val;m_val nullptr;}}public:int* getVal(){return m_val;}private:int* m_val nullptr; };void doSomething(int type) {SmartVal val;if (0 ! type){return; //OKval 申请的内存会自动释放} }int main() {doSomething(0);return 0; }上面代码的输出为 automatically apply for memory automatically release for memory通过在构造函数自动申请内存在析构函数中自动释放内存从而避免了由于忘记正确释放内存导致内存泄漏。除了对于内存的自动管理RAII 还可以应用于其他类型的资源管理如文件句柄、网络连接等。通过将资源的获取和释放封装在相应的对象中可以简化资源的管理提高代码的可读性和可维护性。根据 RAII 编程方法 C11 标准引入了能够自动管理动态内存的智能指针。 面试题15如何解决智能指针的循环依赖问题 使用 weak_ptr 解决循环引用问题。循环引用是指两个或更多智能指针相互引用形成一个闭环导致它们的引用计数永远不会降到0从而使得它们管理的内存无法得到释放。 使用 weak_ptr 可以打破这个循环因为它不增加所指向对象的引用计数。当一个 shared_ptr 和一个 weak_ptr 相互引用时只有当 shared_ptr 的引用计数变为 0 时对象才会被销毁。而 weak_ptr 可以通过调用 lock() 方法来尝试获取一个临时的 shared_ptr以安全地访问对象。如果对象已经被销毁lock() 方法将返回一个空的 shared_ptr。如下为样例代码 #include iostream #include memory using namespace std;class A; class B;class A { public:A() {}~A() {printf(destroy A\n);}public:void setB(shared_ptrB b){m_b b;}private:shared_ptrB m_b; };class B { public:B() {}~B(){printf(destroy B\n);}public:void setA(shared_ptrA a){m_a a;}private:weak_ptrA m_a; };int main() {shared_ptrA a(new A);shared_ptrB b(new B);a-setB(b);b-setA(a);return 0; }上面代码的输出为 destroy A destroy B面试题16unique_ptr 如何实现独占所有权 unique_ptr 在其生命周期内拥有它所指向的对象的唯一所有权其他任何指针包括其他 unique_ptr 都不能同时拥有该对象的所有权。当 unique_ptr 被销毁时例如离开其作用域或被重新赋值它所拥有的对象也会被自动删除。 unique_ptr 实现独占所有权的技术原理主要有以下 4 点 1内部私有指针unique_ptr 内部维护一个私有的原始指针该指针指向它所拥有的对象。外部代码不能直接访问它。 2排他性unique_ptr 不支持复制语义从而可以保证了在任何时候都只有一个 unique_ptr 拥有指向对象的所有权。 3移动语义unique_ptr 支持移动语义允许将一个 unique_ptr 的所有权移动给另一个 unique_ptr 但不能复制它。这是通过将 unique_ptr 的拷贝构造函数和拷贝赋值运算符设置为 delete 即禁用同时提供移动构造函数和移动赋值运算符来实现的。 4资源释放unique_ptr 通过RAII资源获取即初始化原则来实现在其生命周期结束时自动释放其拥有的资源如动态分配的内存在构造函数中获取资源在析构函数中释放析构函数中可以调用自定义删除器。 样例代码如下 unique_ptrint ptr1(new int); // 创建unique_ptr并初始化 unique_ptrint ptr2 ptr1; // 错误不能复制 unique_ptr unique_ptrint ptr3 move(ptr1); // 正确 移动 unique_ptr 的所有权 面试题17shared_ptr 如何实现内部的引用计数机制 shared_ptr 的内部引用计数机制通常是通过内部使用一个控制块control block来实现的。当创建一个 shared_ptr 时它会在堆上分配一个控制块并将引用计数初始化为 1。然后shared_ptr 内部的指针实际上是指向这个控制块的指针而不是直接指向所管理的对象。控制块内部有一个指针指向实际的对象。 以下是 shared_ptr 实现引用计数的一些关键步骤 1构造函数当创建一个新的 shared_ptr 并指向某个对象时如果这是第一个 shared_ptr 指向该对象它会分配一个新的控制块并将引用计数设置为 1。然后shared_ptr 的内部指针指向这个控制块。如果已经有其他的 shared_ptr 指向该对象它会增加现有控制块的引用计数。 2拷贝构造函数和拷贝赋值当使用拷贝构造函数或拷贝赋值运算符创建一个新的 shared_ptr 时它会增加现有控制块的引用计数并使新的 shared_ptr 指向同一个控制块。 3移动构造函数和移动赋值与 unique_ptr 类似shared_ptr 也支持移动语义。当使用移动构造函数或移动赋值运算符时它会将所有权从一个 shared_ptr 移动到另一个 shared_ptr而不改变引用计数。 4析构函数当 shared_ptr 的析构函数被调用时例如shared_ptr 离开其作用域它会减少控制块的引用计数。如果引用计数变为 0这表明没有其他 shared_ptr 再指向该对象因此 shared_ptr 会删除控制块和所管理的对象并释放内存。 5自定义删除器shared_ptr 允许用户提供自定义的删除器用于在删除对象时执行特定的操作。例如可以使用自定义删除器来调用对象的自定义析构函数或者执行其他清理任务。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/88179.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

吉林省住房建设安厅网站宜春做网站 黑酷seo

赛题介绍 在生鲜商超中,一般蔬菜类商品的保鲜期都比较短,且品相随销售时间的增加而变差, 大部分品种如当日未售出,隔日就无法再售。因此, 商超通常会根据各商品的历史销售和需 求情况每天进行补货。 由于商超销售的蔬…

搜狗网站制作涟源网站seo

问题描述: 在窗口拖动的过程中刚开始可以流畅的拖动窗口,但是一小会儿之后出现窗口拖不动的现象,或者按下鼠标在拖动区域内可以流畅拖动,但是按下鼠标朝一个方向拖动后,释放鼠标,按照此操作操作几次后&…

人动物做电影网站wordpress 5.0.3修改注册页

对象存储中的数据可以让其他用户访问吗? 对象存储(简称ZOS)中的数据有两种常见的方式可以授予其他用户访问权限: 桶级别的访问控制列表(ACL):您可以在桶上设置ACL,定义哪些用户具有…

自贡市建设局网站2016网站设计

文章目录 一、项目起航:项目初始化与配置二、React 与 Hook 应用:实现项目列表三、TS 应用:JS神助攻 - 强类型四、JWT、用户认证与异步请求五、CSS 其实很简单 - 用 CSS-in-JS 添加样式六、用户体验优化 - 加载中和错误状态处理七、Hook&…

汕头网站制作公司的网站怎么运营

测序深度(Sequencing Depth)是指:测序得到的碱基总量(bp)与基因组(转录组或测序目标区域大小)的比值,是评价测序量的指标之一。 测序深度的计算公式为: 测序深度 &…

肇庆北滘网站设计企业网站建设首页要写什么内容

git remote prune origin --同步远程分支到本地 git reflog --dateiso --查看历史记录详细信息

合肥模板网站建设收费如何做网站推广页面

服务器网络卡,一般情况下,请先检查您服务器的使用情况。 1.CPU使用率是否大于50%。 2.网络使用率是否过高。 3.内存使用率是否过高。 如果出现上述情况,则表明您的服务器或网络无法承载您目前的服务,请联系技术人员调整您的资…

苏州企业如何建站windows部署网站php

全世界只有3.14 % 的人关注了爆炸吧知识真正决定人与人之间的差距的,其实是我们对事物的见识与内心的格局,见识的深浅决定人生的深浅,格局的大小决定了人生之路是宽是窄。今天给大家推荐几个有深度、有想法的公众号,希望能够给你带…

网站设计培训哪里好北京网站建设是什么意思

可视化文件编辑与SSH传输神器WinSCP如何公网远程本地服务器 文章目录 可视化文件编辑与SSH传输神器WinSCP如何公网远程本地服务器1. 简介2. 软件下载安装:3. SSH链接服务器4. WinSCP使用公网TCP地址链接本地服务器5. WinSCP使用固定公网TCP地址访问服务器 1. 简介 …

网站建设的七个流程步骤网站备案背景幕布打印多大

可以《《透视 HTTP 协议》Windows 10 搭建最小实验环境》搭建环境,之后才能进行下边的操作。 1.鼠标左键点击两下www目录下的start.bat批处理文件。 2.打开Wireshark,然后选择Adapter for loopback traffic capture。 3.然后把tcp.port 80 || udp.…

泉州网站建设工作室网址导航网址大全彩票网站大全

目录 一、引言 二、WinPlan的市场预测功能 三、WinPlan的决策制定功能 四、WinPlan的应用价值

深圳企业网站开发费用html代码中标签的书写不区分大小写

文章目录 一、简介二、vdso2.1 用户态2.2 内核态2.3 内核源码解析 参考资料 一、简介 Linux中的vdso(Virtual Dynamic Shared Object)是一种特殊的动态共享对象,它在用户空间和内核空间之间提供了一种高效的接口。vdso机制的目的是减少用户空…

哪里有做ppt的网站移动商务网站开发课程

在 javascript 中,我们常常用 typeof 运算符来检测对象的类型,在使用 typeof 检测引用类型的存储值会出现一个问题,无论引用的是什么类型的对象,它都会返回 "object"。这个时候我们往往会使用 instanceof instanceof 可…

黄浦区seo网站建设简单网站制作

目录 前言 基于激光雷达和相机的路侧感知系统需求分析及设计 2.1 引言 2.2 感知系统总体结构

容桂网站制作信息在人才网站做业务

分享是最好的整理,利用csdn 平台保存一下

统计局网站建设情况千万不要做手游推广员

目录 前置知识循环依赖的产生Spring里面的3个Map 课程内容一、只有一级缓存的推理演进1.1 直接将实例化后生成的对象放入到单例池里面1.1 引入一个中间Map存实例化后的早期对象(疑似二级缓存)1.3 解决1.2需要被代理的问题(疑似二级缓存&#…

网站平台建设招标书中国外贸论坛

教育 -航空概论-章节资料考试资料-郑州航空工业管理学院【】 第1部分单元作业 第1部分单元测验 1、【单选题】航空是指载人或不载人的飞行器在地球 的航行活动。 A、高空 B、大气层内 C、宇宙 D、大气层外 参考资料【 】 2、【单选题】轻于空气的航空器靠 升空。 A、与空气相对…

六盘水住房和城乡建设部网站wordpress关于

MySQL 一、练习要求二、练习过程 一、练习要求 创建表并插入数据: 字段名数据类型主键外键非空唯一自增idINT是否是是否nameVARCHAR(50)否否是否否glassVARCHAR(50)否否是否否 sch 表内容 id name glass 1 xiaommg glass 1 2 xiaojun glass 21、创建一个可以统计…

长春站是火车站还是高铁站建设医院网站的重点与难点在于

文章目录 1. 新建工程2. 打开工程3. 加载点云1. 新建工程 打开StonexSiScan点云后处理软件,点击【新建】按钮。 选择工程存放路径,输入工程名称。 2. 打开工程 点击【打开】按钮。

黄埔网站建设(信科网络)wordpress访问源端口号

1.编译lcx源码: GitHub - UndefinedIdentifier/LCX: 自修改免杀lcx端口转发工具 2.在win7上安装vs2010并编译生成lcx.exe 3.在要被控制主机上运行: lcx -slave 192.168.31.248 51 192.168.31.211 3389 192.168.31.248为远程主控制主机,51为远程主机端口 192.168.31.211为被…