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

网站建设方案汇报中国企业网站设计案例

网站建设方案汇报,中国企业网站设计案例,西安seo网络推广,开封市住房和城乡建设 网站注意#xff1a;复现代码时#xff0c;确保 VS2022 使用 C17/20 标准以支持现代特性。 克隆对象的效率革命 1. 模式定义与用途​ ​ 核心思想​ ​原型模式#xff1a;通过复制现有对象​#xff08;原型#xff09;来创建新对象#xff0c;而非通过new构造。​关键用…注意复现代码时确保 VS2022 使用 C17/20 标准以支持现代特性。 克隆对象的效率革命 1. 模式定义与用途​ ​ 核心思想​ ​原型模式通过复制现有对象​原型来创建新对象而非通过new构造。​关键用途 1.减少初始化开销适用于创建成本高的对象如数据库连接。 2.​动态配置对象运行时通过克隆生成预设配置的实例。 ​ 经典场景​ 游戏开发批量生成相同属性的敌人或道具。文档编辑复制带格式的文本段落。 2. 模式结构解析​ UML类图 --------------------- --------------------- | Prototype | | Client | --------------------- --------------------- | clone(): Prototype|-------| - prototype: Prototype --------------------- --------------------- ^ | --------------------- | ConcretePrototype | --------------------- | clone() | --------------------- 角色说明​ Prototype抽象接口声明克隆方法 clone()。ConcretePrototype具体原型类实现克隆逻辑。Client通过调用 clone() 创建新对象。 3. 简单示例基础克隆实现 #include memory // 抽象原型接口 class Enemy { public: virtual ~Enemy() default; virtual std::unique_ptrEnemy clone() const 0; virtual void attack() const 0; }; // 具体原型骷髅战士 class SkeletonWarrior : public Enemy { public: std::unique_ptrEnemy clone() const override { return std::make_uniqueSkeletonWarrior(*this); // 调用拷贝构造函数 } void attack() const override { std::cout 骷髅战士挥舞骨刀\n; } }; // 使用克隆 auto original std::make_uniqueSkeletonWarrior(); auto clone original-clone(); clone-attack(); // 输出骷髅战士挥舞骨刀 4. 完整代码原型管理器与深拷贝优化 场景游戏敌人原型注册与批量生成 #include iostream #include unordered_map #include memory #include string // 抽象敌人原型 class Enemy { public: virtual ~Enemy() default; virtual std::unique_ptrEnemy clone() const 0; virtual void spawn() const 0; virtual void setHealth(int health) 0; }; // 具体原型火焰恶魔 class FireDemon : public Enemy { public: FireDemon(int health, const std::string color) : health_(health), color_(color) {} std::unique_ptrEnemy clone() const override { return std::make_uniqueFireDemon(*this); } void spawn() const override { std::cout 生成 color_ 火焰恶魔生命值 health_ \n; } void setHealth(int health) override { health_ health; } private: int health_; std::string color_; }; // 原型管理器注册表 class PrototypeRegistry { public: void registerPrototype(const std::string key, std::unique_ptrEnemy prototype) { prototypes_[key] std::move(prototype); } std::unique_ptrEnemy createEnemy(const std::string key) { auto it prototypes_.find(key); if (it ! prototypes_.end()) { return it-second-clone(); } return nullptr; } private: std::unordered_mapstd::string, std::unique_ptrEnemy prototypes_; }; // 客户端代码 int main() { PrototypeRegistry registry; // 注册原型 registry.registerPrototype(red_demon, std::make_uniqueFireDemon(100, 红色)); registry.registerPrototype(blue_demon, std::make_uniqueFireDemon(80, 蓝色)); // 批量生成敌人 auto enemy1 registry.createEnemy(red_demon); auto enemy2 registry.createEnemy(blue_demon); auto enemy3 registry.createEnemy(red_demon); enemy1-spawn(); // 生成红色火焰恶魔生命值100 enemy2-spawn(); // 生成蓝色火焰恶魔生命值80 enemy3-setHealth(50); enemy3-spawn(); // 生成红色火焰恶魔生命值50 } 5. 优缺点分析 优点​​缺点​避免重复初始化复杂对象需正确处理深拷贝尤其含指针成员时动态添加/删除原型配置每个类需实现克隆方法增加代码量与工厂模式结合扩展性强对简单对象可能得不偿失 6. 调试与优化策略 调试技巧VS2022​​ 1.深拷贝验证 在拷贝构造函数中设置断点观察成员变量是否被正确复制。使用 ​内存断点​ 检测指针成员是否被重复释放。 2.​原型注册表检查 输出注册表的键列表确认原型是否成功注册。 for (const auto pair : prototypes_) { std::cout 已注册原型: pair.first \n; } 性能优化​ 1.原型预初始化 在程序启动时预加载常用原型减少运行时开销。 2.浅拷贝优化 对只读数据成员使用浅拷贝需确保生命周期安全。 class CheapToCopyEnemy : public Enemy { private: const Texture* sharedTexture_; // 只读资源浅拷贝 };
http://www.hkea.cn/news/14416352/

相关文章:

  • 网站开发安全问题wordpress网易云插件
  • 郑州百度网站推广企业联系电话
  • 网站制作切片长沙哪里做网站
  • 晋江建设局网站wordpress后台用户名
  • 国内响应式网站案例vue网站开发实例
  • 瘦身网站开发目的中国建设教育协会网站证书
  • 技术难度高的网站开发网页设计模板html代码五四主题
  • 网站建设备案流程安卓手机优化大师官方下载
  • 快递网站怎么制作常州网站建设推广
  • 嘉兴网站建设哪家做得好高端网站设计哪家好
  • 实用网站建设期末考试商丘高端网站建设
  • 长沙市做网站公司徐州关键词优化平台
  • 个人电脑安装win2003做网站河北石家庄天气
  • 购买网站空间重庆建设牌摩托车官网
  • 微信网站开发教程视频网站建设可以入开发成本吗
  • 学校ftp服务器做网站海南建设厅评审网站
  • 坪地网站制作seo如何进行优化
  • 广州网站建设的地方推荐用区块链来做网站
  • 成都网站平面设计微信官方网站
  • 浙江艮威水利建设有限公司网站微信 网站提成方案点做
  • 电子商务网站建设期末河南建设工程信息网下载
  • 淮南市网站建设wordpress 主题转换
  • 做视频网站被判刑浙江建站优化品牌
  • 只做网站的网站开发需求分析范本
  • 如何打开国外网站免费收录网提交
  • 网站怎么做背景图片西安网站建设推广
  • 优惠网站代理怎么做如何制作网页教程
  • 上海好的网站制作公司苏州网站建设报价单
  • 外贸网站建设有用吗c 网站开发怎么弹出输入框
  • 如何做淘宝优惠卷网站投资做网站