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

国外做兼职网站搜索引擎排名2020

国外做兼职网站,搜索引擎排名2020,wordpress的pingback,有哪些做外贸免费的网站运行在VS2022,x86,Debug下。 30. 外观模式 为子系统定义一组统一的接口,这个高级接口会让子系统更容易被使用。应用:如在游戏开发中,游戏引擎包含多个子系统,如物理、渲染、粒子、UI、音频等。可以使用外观…

运行在VS2022,x86,Debug下。

30. 外观模式

在这里插入图片描述

  • 为子系统定义一组统一的接口,这个高级接口会让子系统更容易被使用。
  • 应用:如在游戏开发中,游戏引擎包含多个子系统,如物理、渲染、粒子、UI、音频等。可以使用外观模式来封装这些复杂的子系统,提供一个简单的接口给游戏开发者,从而无需直接操作复杂的子系统,简化了开发流程。
  • 实现
    • 子系统。
    • 外观,提供统一的接口。
    • 客户端。
  • 代码如下。
    • 游戏引擎外观(GameEngineFacade类)使用单例模式,确保在整个游戏中只有一个外观实例,从而统一管理子系统资源。
// 物理引擎子系统
class PhysicsSystem
{
public:void init() { cout << "Initializing physics engine..." << endl;}void update() { cout << "Updating physics..." << endl; }
};//渲染子系统
class GraphicsSystem
{
public:void init() { cout << "Initializing graphics..." <<endl; }void render() { cout << "Rendering graphics..." << endl;}
};//粒子子系统
class ParticleSystem
{
public:void init() { cout << "Initializing particle..." << endl; }void createParticle() { cout << "Creating particle..." << endl; }
};//游戏引擎外观
class GameEngineFacade 
{
private:PhysicsSystem* physics;GraphicsSystem* graphics;ParticleSystem* particle;GameEngineFacade() //私有构造函数{physics = new PhysicsSystem();graphics = new GraphicsSystem();particle = new ParticleSystem();}~GameEngineFacade() //私有析构函数{if (physics){delete physics;physics = nullptr;}if (graphics){delete graphics;graphics = nullptr;}if (particle){delete particle;particle = nullptr;}}GameEngineFacade(const GameEngineFacade&) = delete; //删除拷贝构造函数GameEngineFacade& operator=(const GameEngineFacade&) = delete; //删除赋值运算符GameEngineFacade(GameEngineFacade&&) = delete; //删除移动构造函数GameEngineFacade& operator=(GameEngineFacade&&) = delete; //删除移动赋值运算符public:static GameEngineFacade* getInstance() //静态函数,获取实例{static GameEngineFacade instance; //局部静态变量,存储实例return &instance;}void initGame() {graphics->init();physics->init();particle->init();}void updateGame() {physics->update();particle->createParticle();}void renderGame() {graphics->render();}
};int main()
{GameEngineFacade* gameEngine = GameEngineFacade::getInstance();gameEngine->initGame();gameEngine->updateGame();
}

反汇编分析,子系统资源创建到释放过程

  • 第一次调用getInstance() 获取外观实例时:_Init_thread_header()和_Init_thread_footer()是多线程同步函数,确保局部静态变量初始化是线程安全的。GameEngineFacade()构造函数来创建实例,_atexit()注册实例的析构函数。如下图。

在这里插入图片描述

  • 执行完构造函数,创建了三个子系统,如下图。

在这里插入图片描述

  • main()返回,如下图。

在这里插入图片描述

  • _exit()执行析构函数或atexit注册的函数指针,最后结束程序,如下图。

在这里插入图片描述

  • 执行atexit注册的外观实例的析构函数,将三个子系统资源释放。

在这里插入图片描述

http://www.ds6.com.cn/news/10914.html

相关文章:

  • 网站公司怎么做运营网络营销的工具有哪些
  • 网站单页面媒体:北京不再公布疫情数据
  • 微信公众号运营内容海外seo推广公司
  • 专做外贸的网站北京seo专员
  • 源码商城网站源码手机搜索引擎
  • 公司网站制作费算是无形资产吗seo页面链接优化
  • wordpress文章id递增2上海seo外包公司
  • 视频网站app怎么做优化落实新十条措施
  • 杭州哪家公司做网站营销网络的建设
  • 深圳购物网站建设报价深圳网络推广哪家
  • 珠海做网站及推广百度店面定位怎么申请
  • 全国医院网站建设正规的教育培训机构有哪些
  • 做外贸是不是必须有网站网站seo入门基础教程书籍
  • 武汉做网站的价格广州代运营公司有哪些
  • 网站域名是啥seo常用分析的专业工具
  • 做效果图网站制作网站的步骤和过程
  • 深圳网站建设外包公司跨境电商关键词工具
  • 怎么自己做影视网站网站优化排名技巧
  • 做网站需要哪些硬件西安网站制作
  • 想更新公司网站怎么做如何营销推广
  • 手机网站大小百度seo排名优化公司哪家强
  • 建设银行网站入口各平台推广费用
  • python完整网站开发项目视频成都网站推广经理
  • 2019做网站的出路佛山seo优化
  • 内容营销的表现形式比较单一杭州seo教程
  • 南京网站制作公司怎么样网络营销战略
  • 党建网站建设可行性分析网站域名购买
  • 祥云平台做网站好不好南京网站设计公司大全
  • 宁德市城乡建设网站潍坊网站建设公司
  • 做网站背景图片浪漫爱情清理优化大师