如何在百度上发布广告济南网站优化公司哪家好

bicheng/2026/1/24 9:29:19/文章来源:
如何在百度上发布广告,济南网站优化公司哪家好,软件网站开发团队名称,软文街1.设计一个只能在堆上创建对象的类 实现方式#xff1a; 将类的构造函数私有#xff0c;拷贝构造声明成私有。防止别人调用拷贝在栈上生成对象。提供一个静态的成员函数#xff0c;在该静态成员函数中完成堆对象的创建。代码示例如下#xff1a; class HeapOnly { publi…1.设计一个只能在堆上创建对象的类 实现方式 将类的构造函数私有拷贝构造声明成私有。防止别人调用拷贝在栈上生成对象。提供一个静态的成员函数在该静态成员函数中完成堆对象的创建。代码示例如下 class HeapOnly { public:static HeapOnly* CreateObject(){ return new HeapOnly;} private:HeapOnly(){}//c98写法//1.只声明不实现。实现可能会很麻烦而本身不需要//2.声明成私有HeapOnly(const HeapOnly);//or C11写法HeapOnly(const HeapOnly)delete; };2.设计一个只能在栈上创建对象的类 同上将构造函数私有化然后设计静态方法创建对象返回。屏蔽new。因为new在底层调用void* operator new(size_t size)函数只需将该函数屏蔽掉即可。 注意也要防止定位new class StackOnly { public:static StackOnly CreateObj(){return StackOnly();}void* operator new(size_t size) delete;void operator delete(void* p) delete; private:StackOnly():_a(0){} private:int _a; };3.请设计一个类不能被拷贝 拷贝只会放生在两个场景中拷贝构造函数以及赋值运算符重载因此想要让一个类禁止拷贝只需让该类不能调用拷贝构造函数以及赋值运算符重载即可。 3.1C98方式 将拷贝构造函数与赋值运算符重载只声明不定义并且将其访问权限设置为私有即可。 class CopyBan {//... private:CopyBan(const CopyBan);CopyBan operator(const CopyBan); };解释 设置成私有如果只声明没有设置为private用户自己如果在类外定义了就可以不能禁止拷贝了。只声明不定义不定义是因为该函数根本不会调用定义了其实也没有什么意义不写反而还简单而且如果定义了就不会防止成员函数内部拷贝了。 3.2 C11方式 C11扩展delete的用法delete除了释放new申请的资源外如果在默认成员函数后跟上delete表示让编译器删除掉该默认成员函数。 class CopyBan {//....CopyBan(const CopyBan)delete;CopyBan operator(const CopyBan)delete;//.... };4.请设计一个类不能被继承 4.1 C98方式 C98中构造函数私有化派生类中调不到基类的构造函数。则无法继承。如下代码所示 class NonInherit { public:static NonInherit GetInstance(){return NonInherit();} private:NonInherit(){} };4.2 C11方式 final关键字final修饰类表示该类不能被继承。 class A final {//....//此时该类不可被继承 };5.单例模式只能创建一个对象的类 一个类只能创建一个对象即单例模式该模式可以保证系统中该类只有一个实例并提供一个访问它的全局访问点该实例被所有程序模块共享。 单例模式有两种实现模式饿汉模式和懒汉模式 5.1饿汉模式 优点 简单提前准备好。在mian函数之前就创建好了单例对象程序随时可以访问这个单例对象。 缺点 无法控制单例创建初始化顺序。假设两个单例类A和B要求A单例先创建B单例后创建B的创建依赖A。就会存在局限性。如果单例对象初始化很费时间会导致程序启动慢就像卡死一样。 代码示例 C98写法 class Singleton { public:static Singleton* GetInstance(){return m_instance;} private://构造函数私有Singleton(){};//私有化防拷贝Singleton(Singleton const);Singleton operator(Singleton const);static Singleton m_instance; }; //在程序入口之前就完成单例对象的初始化 Singleton Singleton::m_instance;C11写法 class Singleton { public:static Singleton* GetInstance(){return m_instance;} private://构造函数私有Singleton(){};//使用delete防拷贝Singleton(Singleton const)delete;Singleton operator(Singleton const)delete;static Singleton m_instance; };如果这个单例对象在多线程高并发环境下频繁使用性能要求较高那么显然使用饿汉模式来避免资源竞争提高响应速度更好。 5.2 懒汉模式 如果单例对象构造十分耗时或者占用很多资源比如加载插件啊 初始化网络连接啊读取文件啊等等而有可能该对象程序运行时不会用到那么也要在程序一开始就进行初始化就会导致程序启动时非常的缓慢。 所以这种情况使用懒汉模式延迟加载更好。 优点 事先没有准备第一次访问时才创建单例对象。对应解决饿汉的两个缺点。 缺点 设计相对负责还要控制线程安全问题。 代码实例 #include iostream #include mutex #include thread using namespace std; class Singleton { public:static Singleton* GetInstance() {// 注意这里一定要使用Double-Check的方式加锁才能保证效率和线程安全if (nullptr m_pInstance) {m_mtx.lock();if (nullptr m_pInstance) {m_pInstance new Singleton();}m_mtx.unlock();}return m_pInstance;}// 实现一个内嵌垃圾回收类 class CGarbo {public:~CGarbo() {if (Singleton::m_pInstance)delete Singleton::m_pInstance;}};// 定义一个静态成员变量程序结束时系统会自动调用它的析构函数从而释放单例对象static CGarbo Garbo; private:// 构造函数私有Singleton() {};// 防拷贝Singleton(Singleton const);Singleton operator(Singleton const);static Singleton* m_pInstance; // 单例对象指针static mutex m_mtx; //互斥锁 }; Singleton* Singleton::m_pInstance nullptr; Singleton::CGarbo Garbo; mutex Singleton::m_mtx; void func(int n) {cout Singleton::GetInstance() endl; } // 多线程环境下演示上面GetInstance()加锁和不加锁的区别。 int main() {thread t1(func, 10);thread t2(func, 10);t1.join();t2.join();cout Singleton::GetInstance() endl;cout Singleton::GetInstance() endl; }6.深入理解懒汉模式和饿汉模式 其实就是看定义的事静态成员对象变量还是静态成员对象指针变量因为如果定义了静态成员对象变量程序在运行之初已经分配了空间就要调用构造函数了而你在调用getinstance的时候不会再调用构造函数了因为之前已经调用过了你就是用的现成的就是所谓的饿汉模式上来先把吃的准备好了因为饿怕了怕后期准备会挨饿。 而定义了静态成员对象指针变量程序运行之初也会分配空间但是那个是指针的空间而不是对象的空间所以不会调用对象的构造函数而只有调用getinstance进行new操作的时候才会对其调用构造函数就是现上轿现扎耳朵眼比较懒惰所以叫懒汉模式。

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

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

相关文章

wordpress网站定制怎么做才能设计出好的网站

缓存 缓存(Cache),就是数据交换的缓冲区,俗称的缓存就是缓冲区内的数据,一般从数据库中获取,存储于高速存储媒介上。 缓存的本质就是用空间换时间,牺牲数据的实时性,以服务器内存中的数据暂时代替从数据库读取最新的数据,减少数据库IO&#…

锦州建设信息网站徐州建设企业网站

SQL Injection 就是通过把恶意的sql命令插入web表单递交给服务器,或者输入域名或页面请求的查询字符串递交到服务器,达到欺骗服务器,让服务器执行这些恶意的sql命令,从而让攻击者,可以绕过一些机制,达到直…

企业门户网站建设渠道网站积分商城该怎么建立

创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 1.工厂方法模式:(常用,需要掌握) 定义:定义了一个创建对象的抽象方法,由子类决定要实例化的类。…

被墙域名黑别人网站vue做门户网站用什么ui

一、Spring Boot简介与背景 在当前的Java应用程序开发领域,Spring Boot 已经成为了一种非常受欢迎的选择。Spring Boot是Spring Framework的一种扩展,旨在简化基于Spring的应用程序的开发和部署过程。它的出现填补了许多传统Spring开发中的空白&#xf…

国内p2p网站建设周末做兼职上什么网站找

U盘是我们生活和工作中最常用的移动储存设备,经常被用来存放各种重要数据,为了保证数据的安全,我们需要加密U盘。那么,U盘加密方法有哪些呢? U盘加密普通方法 如果你的U盘储存数据不多,并且对于加密的要求…

建设银行网站每天几点更新重庆怎么站seo

什么是动态规划 对于动态规划问题,我将拆解为如下五步曲,这五步都搞清楚了,才能说把动态规划真的掌握了! 确定dp数组(dp table)以及下标的含义确定递推公式dp数组如何初始化确定遍历顺序举例推导dp数组&a…

陵水网站建设价格富阳网站设计

文章目录 Linux学习笔记操作系统Linux初识Linux的诞生Linux内核Linux发行版 虚拟机VMware安装远程连接Linux系统FinalShellFinalShell连接Linux WSL配置UbuntuLinux常用命令1.入门2.ls命令cd命令3.pwd命令4.相对路径和绝对路径5.mkdir命令6.文件操作命令(1&#xff…

个人免费网站建设wordpress 数码主题

进程管理 基本概念进程控制进程上下文切换 线程进程和线程的比较进程通信管道消息队列共享内存信号量信号socket 基本概念 进程:一个具有一定独立功能的程序关于某个数据集合的一次运行活动。它是操作系统动态执行的基本单元.并行和并发:状态: 其中挂起是指没有给程序分配实际…

黄埔移动网站建设网站设网站设计

本文重点 梯度下降算法和正规方程是两种常用的机器学习算法,用于求解线性回归问题。它们各自有一些优点和缺点,下面将分别对它们进行详细的讨论。 区别 1. 梯度下降算法是一种迭代的优化算法,通过不断迭代调整参数来逼近最优解。它的基本思想是根据目标函数的梯度方向,沿…

学习网站后台维护网站开发过程阶段

作者推荐 视频算法专题 本文涉及知识点 数学 回溯 字符串 性能优化 LeetCode1307. 口算难题 给你一个方程,左边用 words 表示,右边用 result 表示。 你需要根据以下规则检查方程是否可解: 每个字符都会被解码成一位数字(0 - …

郑州优化网站收费标准wordpress 超酷主题

点此进入官网,专家1对1:应用身份管理服务OneAccess_华为云IDaaS-华为云

网站横幅代码网站制作属于什么专业

文章目录 力扣题目工程代码C实现python实现 力扣题目 给你一个长度为 n 下标从 0 开始的字符串 blocks ,blocks[i] 要么是 ‘W’ 要么是 ‘B’ ,表示第 i 块的颜色。字符 ‘W’ 和 ‘B’ 分别表示白色和黑色。 给你一个整数 k ,表示想要 连…

靖江建设行业协会网站淘客优惠券推广网站怎么做

实时时钟RTC是一个独立的定时器。RTC模块拥有一个连续计数的计数器,在软件配置下,可以提供时钟日历的功能。修改计数器的值可以重新设置当前时间和日期 RTC还包含用于管理低功耗模式的自动唤醒单元。 在掉电情况下 RTC仍可以独立运行 只要芯片的备用电源…

网站的后台怎么做app营销策略有哪些

横、纵表 定义 横表定义:一个对象的所有属性在一行,列的定义是对象的各个字段 举例:学生成绩表 姓名 Java C语言 ​ 张三 100 88 纵表定义:一个对象的所有属性被分配到多行,列的定义是对象的字段和字段的值 举例…

视频广告联盟平台排名优化工具下载

一、事件与处理 程序在运算过程中发生的一些事情:鼠标单击、键盘的按下... 这些的事件的监控与处理在Qt中不是以信号的方式处理的。 当这些事件发生时会调用QObject类中的功能函数(虚函数),所有的控件类都继承了这个类。 常用的鼠…

铜川做网站的公司上海装修公司排名前20

目录 一.概述 二 .漏洞影响 三.漏洞复现 1. 漏洞一: 四.修复建议: 五. 搜索语法: 六.免责声明 一.概述 网康下一代防火墙(NGFW)是一款可以全面应对应用层威胁的高性能防火墙。通过深入洞察网络流量中的用户、应用和内容,并…

淘宝网客网站建设网站开发和软件开发

今天学习Makefile预定义变量的使用,加qq:1126137994.微信:liu1126137994一起学习更多技术!!! 1.预定义变量:自动变量 在Makefile中存在一些预定义过的变量,我们可以直接拿来使用而…

平面网站设计网站备案域名更改

手搓反激电源 | 五、反激高频变压器的设计与计算 先上干货,变压器设计规格书 千里之行,积于跬步,万里之船,成于罗盘 A journey of thousands of miles accumulates in steps, and the ship of thousands of miles becomes a compass 反激式变换操作 反激式变换器的…

酷炫网站首页WordPress里h1跟p有什么

大家有没有想过这个问题:软件测试中有哪些误区呢?想起这个题目,是因为最近遇到好几次关于这方面的讨论。发觉即便做过几年测试的老员工也或多或少有些这方面的困惑。当然一家之言,仅作抛砖引玉之谈。 误区一:测试就是…

学做网站论坛 可以吗个人网站开发赚钱方向

​2023年12月13日,北京玻色量子科技有限公司(以下简称“玻色量子”)联合上海交通大学在中科院分区1区、计算化学领域Top刊物JCTC(Journal of Chemical Theory and Computation)内刊的封面上发表了以“Encoding Molecul…