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

南宁网站建设速成培训班注册商标符号

南宁网站建设速成培训班,注册商标符号,公众号网站,河南省建设注册中心网站特殊类定制 在C中,一些特殊性质的类如何设计 类禁止拷贝的对象 C11 使用delete关键字赋值给拷贝构造和赋值C98将拷贝构造和赋值声明在私有里 类只能在堆上创建的对象 将构造函数私有化, 提供一个获取对象堆上创建对象的公有函数将析构函数私有化, 提供一个释放…

特殊类定制

在C++中,一些特殊性质的类如何设计

类禁止拷贝的对象

  • C++11 使用delete关键字赋值给拷贝构造和赋值
  • C++98将拷贝构造和赋值声明在私有里

类只能在堆上创建的对象

  • 将构造函数私有化, 提供一个获取对象堆上创建对象的公有函数
  • 将析构函数私有化, 提供一个释放资源公有函数

类只能在栈上创建的对象

  • 将构造函数私有化, 并提供一个获取栈上创建的对象的公有函数
    然后将operator new函数禁用掉, 但是无法防拷贝(有一定缺陷)

不能被继承的类

  • C++98将父类构造函数私有化
  • C++11使用final关键字修饰父类

单例模式

一个类只能创建一个对象的类(singleton)

即只有唯一的实例对象

  • 饿汉模式: 无论是否使用, 程序创建之前(main函数之前)就构造一个唯一的对象

    1. 先将构造函数私有化
    2. 使用私有的一个静态的、对应类型的实例化对象成员, 在类内声明, 类外初始化
    3. 提供一个静态成员函数获取到该对象
    • 优点: 简单, 无线程安全问题
    • 缺点
      1. 单例模式多可能会导致进程的启动慢
      2. 一个程序中, 有多个单例时, 无法控制其初始化的顺序
  • 懒汉模式: 第一次使用对象时再创建实例对象

    • 设计方式同饿汉基本相同, 但调用静态成员函数时(需要获取实例对象时)再创建实例对象(new 实例对象)

    • 优点对应着饿汉的缺点

      • 可以控制多个单例的初始化顺序
      • 不影响启动顺序
    • 缺点

      • 线程安全问题

        • 需要通过对应加锁, 以及双重判断进行保护
        static ThreadPool<T> *getIntance(int num = g_thread_num){// 双重判断, 减少反复的加锁和解锁操作(因为只有第一次调用该方法时才会有线程安全问题, 之后都不会)// 加多一个判断, 后续再来的线程时, 则不需要再进行加解锁, 只用做一次判断即可(拦截了大量的无用的访问锁的行为->只有第一次访问锁有意义)if (pool == nullptr){LockGuard lock(&_smtx);if (pool == nullptr){pool = new ThreadPool<T>(num);}}return pool;
        }
        
  • 单例对象的释放问题

    • 一般情况下, 单例对象在整个程序运行期间都需要使用, 所以一般都是不释放的
      单例对象在进程结束后也会进行资源释放
    • 一些特殊场景需要释放, 如单例对象析构时, 需要进行一些持久化操作(往文件或者数据库写)
      构建一个内嵌的垃圾回收类, 然后声明一个全局的垃圾回收对象, 当单例对象生命周期到时, 则会自动析构该垃圾对象, 同时释放单例对象资源
http://www.yayakq.cn/news/435733/

相关文章:

  • 网站分析工具对软件开发的理解和认识
  • 做网站得做多少网页东莞型网站建设
  • 做捕鱼网站电话号码wordpress官网的文档
  • diy网站源码.tv做网站怎么样
  • 手机购物网站模板下载泗阳做网站公司
  • 辽阳建网站产品设计属于什么大类
  • 网站建设技术的发展护肤品营销策划方案
  • 聚合页做的比较好的教育网站公司备案号查询网站
  • 网站主办单位负责人wordpress的主题安装在什么目录
  • 菏泽住房和城乡建设厅网站绵阳 网站开发
  • 建设银行网站上怎么查看账户沙洋县seo优化排名价格
  • 给网站划分栏目全国大学生平面设计大赛
  • 网站建设冖金手指花总十五潍坊市城乡建设局网站
  • 南京做征信服务的公司网站聊城做网站做的不错的网络公司
  • 绍兴市交通建设检测中心网站出售家教网站模板
  • 拼多多无货源电商怎么做重庆优化网站公司
  • 施工合同在哪个建设网站下载门户网站什么意思
  • 怎么做社交网站阿里巴巴网站域名注册
  • 旅游型网站开发怎样注册一个自己的平台
  • 建站之星模板的使用商务网站建设的一般流程图
  • 公益广告 公司网站建设中...网站开发为什么要用框架
  • 选择一个域名进行网站建设wordpress漂亮破解主题
  • vps如何做网站步骤网络公司注册流程
  • phicomm怎么做网站湛江网站建设的详细过程
  • 5网站建设wordpress插件之家
  • 淘宝客网站建设教程东莞网站排名优化费用
  • 邯郸建设网站网站制作的困难和解决方案
  • 做网站成功的企业泉州商城网站开发设计
  • 家居品牌网站建设现在个人做网站或者app还有收益
  • 企业做网站域名需要自己申请吗移动网站 图片优化