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

微信群推广网站天津市武清区住房建设网站

微信群推广网站,天津市武清区住房建设网站,河北建设局网站,福田瑞沃小金刚c版在C中,可以通过特定的技术手段来控制对象只能在堆(heap)或栈(stack)上创建。只能在堆上创建对象的类要实现这一点,我们需要阻止用户直接实例化对象,而只能通过new操作符创建。class HeapOnly { public:static HeapOnly* create() {return new…

在C++中,可以通过特定的技术手段来控制对象只能在堆(heap)或栈(stack)上创建。

只能在堆上创建对象的类

要实现这一点,我们需要阻止用户直接实例化对象,而只能通过new操作符创建。

class HeapOnly {
public:static HeapOnly* create() {return new HeapOnly();}// 删除拷贝构造函数和赋值运算符HeapOnly(const HeapOnly&) = delete;HeapOnly& operator=(const HeapOnly&) = delete;private:HeapOnly() {}  // 构造函数私有化~HeapOnly() {} // 析构函数私有化
};

原理

  1. 将构造函数和析构函数设为私有,防止直接实例化

  2. 提供静态工厂方法create()来创建对象

  3. 删除拷贝构造函数和赋值运算符防止复制

只能在栈上创建对象的类

要实现这一点,我们需要阻止用户使用new操作符创建对象。

class StackOnly {
public:StackOnly() {}/ 禁止普通的 new 和 deletevoid* operator new(size_t) = delete;void operator delete(void*) = delete;// 禁止 new[] 和 delete[]void* operator new[](size_t) = delete;void operator delete[](void*) = delete;// 禁止 placement new(防止绕过限制)void* operator new(size_t, void*) = delete;
};

原理

  1. 删除new和delete操作符的重载,使得无法使用new创建对象

  2. 仍然允许在栈上直接实例化对象

注意事项

  1. 对于只能在堆上创建的类,需要提供某种方式来释放内存,通常是在类中添加一个destroy()方法:

    void destroy() {delete this;
    }
  2. 这些技术在现代C++中可以通过=delete语法简洁地实现,但在旧版C++中需要通过声明为private并不实现的方式达到类似效果。

  3. 这些限制会影响类的使用方式,在设计时需要权衡灵活性和约束。

http://www.dtcms.com/wzjs/608469.html

相关文章:

  • 怎么做自己的优惠券网站开个平台需要多少钱
  • 个人博客网站制作图片网易企业邮箱入口 官网
  • 宣传型网站建设上海做外贸网站
  • 鲜花网站建设结构布局公司要我做网站_没有公司的材料是不是不可以做
  • 电影网站建设方案ppt模板下载cms开发教程
  • 深圳企业推广网站wordpress ss打不开
  • Python建网站的步骤广州外包公司都有哪些
  • 哪有那样的网站wordpress 网速
  • 网站交互方式怎么注册微网站吗
  • 口碑好网站建设公司电话武邑网站建设
  • 衡水网站建设公司联系电话淘宝搜索关键词查询工具
  • 旅游网站首页如何获取wordpress后台登入网址
  • 网站建设和微信小程序在线制作免费生成图片文字
  • 奇网企业网站管理系统建设银行网站个人中心
  • iis v6 新建网站互联网创业项目app
  • 深圳网站制作公司招聘网站建设后期维护小魔仙
  • 云服务器怎么搭建网站电商平台业务流程图
  • 江苏建设厅网站查询四川网站建设设计
  • 东莞热的建设网站ai软件
  • 确定建设电子网站的目的嘉兴网站推广优化公司
  • 手机网站 教程无锡哪里有做网站的公司
  • 太原网站建设搜q479185700社交网络的推广方法有哪些
  • 互联网网站开发合同教育类网站建设
  • 重庆彭水网站建设wordpress ajax搜索功能
  • 3东莞网站建设网站备案ip查询系统
  • 中山市建设局安全监督站网站php网站后台模板下载
  • 河北网站建设与推广网站建设资料清单
  • 网站模块源码网站设计一般用什么软件
  • 网站怎么添加管理员西部数码网站管理助手 mysql
  • 做淘客必须有自己内部网站吗阿里指数查询官网入口