美文网首页
面试题2:C++ 单例模式最简单最安全实现

面试题2:C++ 单例模式最简单最安全实现

作者: 修司敦 | 来源:发表于2018-11-08 23:58 被阅读0次

本代码采用饿汉模式,是线程安全的,而且静态对象在生命周期结束的时候也会自动析构。

#include <cstdlib>
#include <cstdio>
#include <iostream>

class Singleton {
private:
    Singleton() { std::cout << "ctor" << std::endl; }
    ~Singleton() { std::cout << "dtor" << std::endl; }
    static Singleton one;

public:
    static Singleton *getInstance() { return &one; }
};
Singleton Singleton::one;

int main()
{
    Singleton *one = Singleton::getInstance();
    Singleton *two = Singleton::getInstance();
    if (one == two) std::cout << "same instance!" << std::endl;
    else std::cout << "Not the same!" << std::endl;

    return 0;
}
//"ctor"
//"same instance!"
//"dtor"

相关文章

  • swift 单例

    1、最简单实现 2、使用GCD技术实现的单例模式

  • 面试题2:C++ 单例模式最简单最安全实现

    本代码采用饿汉模式,是线程安全的,而且静态对象在生命周期结束的时候也会自动析构。

  • Java中单例模式你用的哪一种?

    一起讨论java中的单例模式。单例模式是java设计模式中算是最简单的设计模式了。 * java实现单例模式的写法...

  • 技术总结

    设计模式:1.单例模式最简单的单例,应用场景(spring bean默认实现singleton模式,其他模式是cl...

  • kotlin实现单例模式

    1.懒汉式实现单例模式 2.线程安全懒汉式实现单例模式 3.双重校验懒汉式实现单例模式 4.静态内部类方式实现单例模式

  • 单例模式

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

  • java设计模式-单例模式(singleton)

    单例模式(singleton),属于创建型模式 单例模式实现方法有很多种,今天要讲的是其中两种,也是最简单,最常见...

  • 实现线程安全的单例模式

    《剑指offer》面试题2:实现线程安全的单例模式 推荐的解法(Java实现):1、使用静态内部类(同时实现序列化...

  • 单例模式的实现

    单例模式估计是咱们碰到最多也是最简单的一种设计模式了(也是面试中经常会遇到的面试题)。单例模式保证一个类只有...

  • 单例模式的双重加锁实现

    本文从单例模式的一般实现方式开始说起,逐步深入到双重加锁实现。 一、饿汉模式 首先介绍一下最简单的单例模式——饿汉...

网友评论

      本文标题:面试题2:C++ 单例模式最简单最安全实现

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