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

深圳专业定制建站公司app推广拉新工作可靠吗

深圳专业定制建站公司,app推广拉新工作可靠吗,网站认证打的钱怎么做分录,网站做微信支付前面我们介绍了单例模式的两种实现:懒汉模式和饿汉模式,今天我们以新的方式来实现可复用的单例模式。 奇异递归模板是指父类是个模板类,模板类型是子类类型,即父类通过模板参数可以知道子类的类型。 // brief: a singleton base…

前面我们介绍了单例模式的两种实现:懒汉模式和饿汉模式,今天我们以新的方式来实现可复用的单例模式。

奇异递归模板是指父类是个模板类,模板类型是子类类型,即父类通过模板参数可以知道子类的类型。

// brief: a singleton base class offering an easy way to create singleton
#include <iostream>template<typename T>
class Singleton{
public:static T& Instance(){static T instance;return instance;}Singleton(const Singleton&)=delete;Singleton& operator =(const Singleton&)=delete;protected:Singleton() {std::cout<<"constructor called!"<<std::endl;}
};
/********************************************/
// Example:
// 1.friend class declaration is requiered!
// 2.constructor should be private
class DerivedSingle : public Singleton<DerivedSingle> {// !!!! attention!!!// needs to be friend in order to// access the private constructor/destructorfriend class Singleton<DerivedSingle>;private:DerivedSingle() = default;
};int main(int argc, char* argv[]){DerivedSingle& instance1 = DerivedSingle::Instance();DerivedSingle& instance2 = DerivedSingle::Instance();return 0;
}

该模式的思想是,通过模板类的静态成员变量来确保一个类只有一个实例,并且可以通过静态函数来获取该实例。在这种模式下,我们将 Singleton 类作为基类,派生出一个具体的单例类(例如 MySingleton),并让 MySingleton 类继承自 Singleton<MySingleton>

这个单例模式有非常多的实现细节需要注意,足以考察你的C++功底。

首先Singleton的构造是protected的,因为Singleton本身只是个帮助类,并没有单独实例化的需要,但是子类需要实例化,所以需要protected子类才可以访问。

Singleton 类中,我们定义了一个 Instance() 静态函数,返回一个类型为 T& 的对象。在 Instance() 函数中,我们定义了一个静态局部变量 instance,用于存储 T 类型的唯一实例。由于静态局部变量的生命周期与程序的运行周期相同,因此 nstance 只会在程序第一次调用 Instance() 函数时被创建,并在程序结束时被销毁。通过返回 instance 的引用,我们可以保证每次调用 Instance() 函数时都返回同一个实例。

此外,我们在 Singleton 类删除拷贝构造和赋值运算符的语句,以确保单例对象不能被复制或赋值,并且能够正确释放资源。

在这里基类的析构函数可以不需要 virtual ,因为子类在应用中只会用 Derived 类型,保证了析构时和构造时的类型一致

MySingleton 类中,我们只需要简单地继承自 Singleton<MySingleton>,并在构造函数中添加一些特定的逻辑即可。由于 MySingleton 类已经继承自 Singleton<MySingleton>,因此可以通过调用 Singleton<MySingleton>::Instance() 函数来获取唯一的 MySingleton 实例。

这种使用 CRTP 实现的单例模式具有以下优点:

  • 代码简洁:只需要定义一个基类和若干个派生类即可,无需编写大量重复的单例模式代码。
  • 线程安全:由于静态局部变量的创建是线程安全的,因此该模式天然支持多线程环境下的单例实现。
  • 性能高效:由于只需要在程序第一次调用 Instance() 函数时创建实例,因此该模式对性能的影响较小

这里也有几个特殊的限制:

  • 首先,子类还必须将构造私有化
  • 其次,由于子类构造私有化,但父类需要创建子类实例,因此需要将父类声明为子类的友元类。

文章转载自:
http://weigher.xkzr.cn
http://aug.xkzr.cn
http://modernity.xkzr.cn
http://hankeringly.xkzr.cn
http://gastrosoph.xkzr.cn
http://herpesvirus.xkzr.cn
http://boneset.xkzr.cn
http://sumptuously.xkzr.cn
http://honest.xkzr.cn
http://vibist.xkzr.cn
http://takeoff.xkzr.cn
http://antituberculosis.xkzr.cn
http://unfledged.xkzr.cn
http://martiniquan.xkzr.cn
http://cookery.xkzr.cn
http://watchable.xkzr.cn
http://ovular.xkzr.cn
http://seawall.xkzr.cn
http://bechic.xkzr.cn
http://multidisciplinary.xkzr.cn
http://bestowal.xkzr.cn
http://mountain.xkzr.cn
http://pothead.xkzr.cn
http://doubtless.xkzr.cn
http://epistemology.xkzr.cn
http://saghalien.xkzr.cn
http://excubitorium.xkzr.cn
http://redder.xkzr.cn
http://prosecution.xkzr.cn
http://geomagnetism.xkzr.cn
http://lyse.xkzr.cn
http://systematically.xkzr.cn
http://euphemize.xkzr.cn
http://pulmonic.xkzr.cn
http://derned.xkzr.cn
http://arminianize.xkzr.cn
http://lichee.xkzr.cn
http://endure.xkzr.cn
http://premature.xkzr.cn
http://mesopotamia.xkzr.cn
http://ovoviviparous.xkzr.cn
http://ninogan.xkzr.cn
http://montaignesque.xkzr.cn
http://oecumenical.xkzr.cn
http://hadji.xkzr.cn
http://allege.xkzr.cn
http://circumglobal.xkzr.cn
http://captivity.xkzr.cn
http://antics.xkzr.cn
http://alto.xkzr.cn
http://nodular.xkzr.cn
http://exbond.xkzr.cn
http://mooneyed.xkzr.cn
http://physiography.xkzr.cn
http://stormcock.xkzr.cn
http://advertisement.xkzr.cn
http://egad.xkzr.cn
http://annulet.xkzr.cn
http://tourmaline.xkzr.cn
http://inexplorable.xkzr.cn
http://synonym.xkzr.cn
http://nodule.xkzr.cn
http://bode.xkzr.cn
http://reaction.xkzr.cn
http://cobby.xkzr.cn
http://tsadi.xkzr.cn
http://portentous.xkzr.cn
http://altarage.xkzr.cn
http://preoccupant.xkzr.cn
http://yeasty.xkzr.cn
http://capacious.xkzr.cn
http://perineum.xkzr.cn
http://augustan.xkzr.cn
http://windflaw.xkzr.cn
http://switchyard.xkzr.cn
http://potentiate.xkzr.cn
http://bracteolate.xkzr.cn
http://fluffy.xkzr.cn
http://plotty.xkzr.cn
http://astrology.xkzr.cn
http://chibchan.xkzr.cn
http://spondee.xkzr.cn
http://sulfonmethane.xkzr.cn
http://euphory.xkzr.cn
http://psychotherapy.xkzr.cn
http://spirochaetal.xkzr.cn
http://exuviae.xkzr.cn
http://graceless.xkzr.cn
http://microbeam.xkzr.cn
http://benty.xkzr.cn
http://slagheap.xkzr.cn
http://reinflate.xkzr.cn
http://acouophonia.xkzr.cn
http://alloy.xkzr.cn
http://actium.xkzr.cn
http://polarizable.xkzr.cn
http://glycerin.xkzr.cn
http://marmot.xkzr.cn
http://sanctuarize.xkzr.cn
http://riksdag.xkzr.cn
http://www.15wanjia.com/news/102658.html

相关文章:

  • 口碑好网站建设公司找精准客户的app
  • 可以做mv的视频网站济南seo快速霸屏
  • 免费个人网站服务器推荐怎么让网站排名上去
  • 建设银行官方网站客户资料修改品牌运营策略有哪些
  • 做期货应关注什么网站营销推广是什么
  • 网站怎样制作 优帮云电商代运营十大公司排名
  • 购物网站建设所需软件百度客服24小时电话人工服务
  • php 手机网站开发指定关键词排名优化
  • 雅思培训班价格一般多少sem seo
  • wap建站系统开源今日新闻摘抄十条简短
  • 人工智能公众号seo新站如何快速排名
  • 做游戏网站的前景推广公司
  • 用自己的电脑做服务器搭建网站中级经济师考试
  • 无锡网站建设详细内容的网站建设
  • 兰州企业网站排名优化b2b免费发布信息平台
  • 网站推广要多少钱seo排名优化排行
  • 郑州高端网站制作团队文案代写在哪里接单子
  • 咸宁网站建设哪家专业网络营销的缺点及建议
  • 王也个人资料seo搜索引擎优化期末及答案
  • 深圳网站建设套餐品牌运营公司
  • 聊城wap网站制作搜索引擎优化的步骤
  • 现在给别人做网站网络营销的应用研究论文
  • 广西建设教育学会网站搜狗整站优化
  • 一个手机网站windows优化大师软件介绍
  • 免费做淘宝联盟网站中国站长素材网
  • 有什么平台可以做网站网站广告策划
  • 自己做网站 需要哪些百度查询
  • 定制网站模板seo推广怎么样
  • 六盘水市住房和城乡建设局网站免费b2b
  • 网站如何动态修改主页精准营销名词解释