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

做一个公司的门户网站多少钱请人做网站 我需要知道哪几点

做一个公司的门户网站多少钱,请人做网站 我需要知道哪几点,联盟网站制作,win7怎么做网站服务器C 中的 Pimpl 惯用法 介绍 Pimpl(Pointer to Implementation)是一种常见的 C 设计模式,用于隐藏类的实现细节,从而减少编译依赖和提高编译速度。本文将通过一个较为复杂的例子,展示如何使用智能指针(如 s…

C++ 中的 Pimpl 惯用法

介绍

Pimpl(Pointer to Implementation)是一种常见的 C++ 设计模式,用于隐藏类的实现细节,从而减少编译依赖和提高编译速度。本文将通过一个较为复杂的例子,展示如何使用智能指针(如 std::unique_ptr)来实现 Pimpl 惯用法。

什么是 Pimpl 惯用法?

Pimpl 是 “Pointer to Implementation” 的缩写,这个模式可以帮助我们:

  • 将接口和实现分离
  • 减少头文件中的依赖
  • 加速编译

基本实现

基本的 Pimpl 实现需要一个前置声明的内部类和一个指向该内部类的指针。在这里,我们使用 std::unique_ptr 来管理这个内部类的实例。

MyClass.h

#include <memory>class MyClassImpl; // 前置声明class MyClass {
public:MyClass();~MyClass();void DoSomething();private:std::unique_ptr<MyClassImpl> pimpl;
};

MyClass.cpp

#include "MyClass.h"class MyClassImpl {
public:void DoSomething() {// 实现细节}
};MyClass::MyClass() : pimpl(std::make_unique<MyClassImpl>()) {}
MyClass::~MyClass() = default;void MyClass::DoSomething() {pimpl->DoSomething();
}

示例

假设我们有一个 Car 类,它有多个组件,如 EngineWheel

Car.h

#include <memory>
class CarImpl;class Car {
public:Car();~Car();void Start();void Stop();private:std::unique_ptr<CarImpl> pimpl;
};

Car.cpp

#include "Car.h"
#include "Engine.h"
#include "Wheel.h"class CarImpl {
public:Engine engine;Wheel wheel[4];void Start() {engine.Start();// 其他逻辑}void Stop() {engine.Stop();// 其他逻辑}
};Car::Car() : pimpl(std::make_unique<CarImpl>()) {}
Car::~Car() = default;void Car::Start() {pimpl->Start();
}void Car::Stop() {pimpl->Stop();
}

在这个例子中,Car 的用户只需要包含 Car.h,而不需要知道 EngineWheel 的存在。这样就降低了编译依赖并提高了编译速度。

总结

通过使用 Pimpl 惯用法和智能指针,我们能更有效地隐藏实现细节,提高编译速度,并使代码更易于维护。

http://www.yayakq.cn/news/503433/

相关文章:

  • 苏州房地产网站建设网络推广平台免费
  • 垦利网站建设沙田镇做网站
  • 临沂企业网站建站模板苏州手机网站建设报价
  • 本地网站建设北京知名网站设计公司
  • 赣州瑞金网站建设网站大全浏览器
  • 做物流公司网站哪家好it培训机构口碑排名
  • 桂林网站seo项目策划书模板
  • 静态网站开发实验报告WordPress网站论文
  • 做淘宝浏览单的网站怎么用自己电脑做服务器发布网站吗
  • 建设网站服务器的方式有自营方式做网站的工作叫什么
  • 服务器网站管理系统本网站服务器
  • 广西网站建设服务好做网站前端有前途么
  • 如何推广网站话术地方信息网站源码
  • 智能网站建设软件有哪些专业的网络公司介绍
  • 幸福人寿保险公司官方网站保单查询广东企业网站建设策划
  • 山西网站群建设上饶网站seo
  • 做家装的网站有什么不同怎么弄免费的php空间做网站
  • 网站开发技术标准ppt模板免费网
  • 平乡建设局网站电脑赚钱的项目有哪些
  • 电商企业网站建设的一般要素有哪些动易会提示模版文件"默认网站首页问答模板.html"找不到
  • 网站快照优化公司可以建设网站的公司
  • 福州网站建设要找嘉艺网络自己做网站打开是乱码
  • eclipse用来做网站前端主流网站设计软件
  • 网站设计的性能需求企业年金查询官网
  • 门户网站开发 南宁wordpress临时域名
  • 基于阿里云的网站开发手机刷网站排名软件
  • 公司网站建设方案模板下载凡科网免费建站
  • seo网站推广 杭州乐清网站
  • 还有哪些免费的网站可以做H5吸引人的广告图片
  • 苏州市城乡和建设局网站建筑投标网站