爲什麼面試官喜歡問單例模式?

單例模式。

大家都知道的一個設計模式。

每個人有不同的寫法。

看到別人寫的單例模式就感嘆。。太菜了我。

#include <mutex>
#include <atomic>

template <typename T>
class Singleton {
public:
    static T* GetInstance() {
        T* tmp = instance_.load(std::memory_order::memory_order_acquire);
        if (tmp == nullptr) {
            std::lock_guard<std::mutex> lock(mutex_);
            tmp = instance_.load(std::memory_order::memory_order_relaxed);
	        if (instance_ == nullptr) {
	        	tmp = new T;
	            instance_.store(tmp, std::memory_order::memory_order_release);
	        }
	    }
	    return instance_;
	}
	virtual ~Singleton(){}
protected:
    static std::mutex mutex_;
    static std::atomic<T*> instance_;	
    Singleton(){}
	Singleton (const Singleton &);
	Singleton& operator = (const Singleton &);
	Singleton (Singleton &&);
	Singleton& operator = (Singleton &&);
};
	
template <typename T>
std::atomic<T*> Singleton<T>::instance_ = nullptr;
	
template <typename T>
std::mutex Singleton<T>::mutex_;

希望我還能改。。。

https://blog.csdn.net/LU_ZHAO/article/details/104094930

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章