美文网首页
单例模式的C++版本实现

单例模式的C++版本实现

作者: 鲨漠里的鱼 | 来源:发表于2017-09-17 12:02 被阅读0次

单例模式的意图:保证一个类仅有一个实例,并且提供一个访问她的全局访问点。

第一种形式:

#includeusing namespace std;

class Singleton {

static Singleton s;

int i;

Singleton(int x) :i(x) {};

//把复制构造函数和“=”操作符也设为私有,防止复制和拷贝

Singleton & operator = (Singleton&);//不允许赋值

Singleton(const Singleton&);//不允许拷贝

public:

static Singleton& instance() { return s; }

int getValue() { return i; }

void setValue(int x) { i = x; }

};

Singleton Singleton::s(47);//定义静态成员s

int main()

{

Singleton& s = Singleton::instance();

cout << s.getValue() << endl;

Singleton & s2 = Singleton::instance();

s2.setValue(9);

cout << s.getValue() << endl;

return 0;

}

请你写出一个单例模式来。

好,这个题目很简单,相信大家都能很快的写出来(写出来立即编译没有错误—当时去IBM面试时候的要求)。

请大家放心,面试官是不会就这么放过你滴。

会分别问你:怎么才能更节省资源?多线程情况下怎么样?双重检查方式的单例模式?还有其它的实现方式么?

一步步进逼,不会让你大喘气滴。

大家来试试,只要写出下面四种方式的就可以了:

A:单线程下单例模式;

B:简单修改A中代码,实现多线程下的单例模式;

C:双重检查的单例模式;

D:还有其它实现方式么?

相关文章

  • 单例模式

    单例模式及C++实现代码单例模式4种实现详解 c++11改进我们的模式之改进单例模式 单例模式(Singleton...

  • C++单例模式实现(线程安全&支持多参数构造)

    C++单例模式实现(线程安全&支持多参数构造) 线程安全版本 支持多参数版本的单例类 遇到问题点: std::ca...

  • C++单例模式实现(线程安全&支持多参数构造)

    C++单例模式实现(线程安全&支持多参数构造) 线程安全版本 支持多参数版本的单例类 遇到问题点: std::ca...

  • 学而时习之单例模式

    本文主要说明单例模式的概念,应用,以及C++实现。 I、上帝视角看单例模式 1.1 单例模式特点 单例模式需要满足...

  • Singleton 单例模式

    搬运自大神博客单例模式(Singleton)及其C++实现 单例模式,在GOF的《设计模式:可复用面向对象软件的基...

  • 单例模式的C++版本实现

    单例模式的意图:保证一个类仅有一个实例,并且提供一个访问她的全局访问点。 第一种形式: #includeusing...

  • C++ 单例模式

    本文介绍C++单例模式的集中实现方式,以及利弊 局部静态变量方式 上述代码通过局部静态成员single实现单例类,...

  • 多线程环境下的单例模式

    记录一下单例模式的几个演化版本。 版本1 - 单线程下正确的版本 思路说明该版本是最原始的单例模式实现代码。使用静...

  • Android设计模式总结

    单例模式:饿汉单例模式://饿汉单例模式 懒汉单例模式: Double CheckLock(DCL)实现单例 Bu...

  • 单例模式

    一、实现单例模式 或者 二、透明的单例模式 三、用代理实现单例模式 四、JavaScript中的单例模式 在Jav...

网友评论

      本文标题:单例模式的C++版本实现

      本文链接:https://www.haomeiwen.com/subject/borpsxtx.html