Ana içeriğe atla

C++ Generic - Thread Safe - Singleton

singleton.h

#ifndef SINGLETON_H
#define SINGLETON_H

template <typename T>
class Singleton
{
public:
    static T& GetInstance(){
        static T instance;
        return instance;
    }

private:
    Singleton() = default;
    ~Singleton() = default;

    Singleton(const Singleton&) = delete;
    Singleton& operator=(const Singleton&) = delete;
    Singleton(Singleton&&) = delete;
    Singleton& operator=(Singleton&&) = delete;
};

#endif // SINGLETON_H

How to use?
Singleton<LogManager>::GetInstance()
.info(this->metaObject()->className(),
Q_FUNC_INFO, "Initialized", 
false, 
false);
info is my method...

Yorumlar

Bu blogdaki popüler yayınlar

C++ Eğitim Serisi - Konular

C++ öğrenmek için ne yapmalıyız? Blog içeriği ile kimler C++ öğrenebilir? Neden C++ Öğrenmelisiniz? C++ ile Programlamaya Giriş. Windows C++ Geliştirme MacOS C++ Geliştirme Linux C++ Geliştirme C++ ile ilk program

C++ öğrenmek için ne yapmalıyız?

Hangi işi yapıyorsanız yapın kendinize güvenip, sonuna kadar kararlılık gösterirseniz mutlaka başarılı olursunuz. Burada olduğunuza göre siz de C++ öğrenmeye karar vermişsiniz ve blogda yer alan konuları iyi öğrenirseniz sizi uzman C++ geliştirici konumuna getirecektir. Bu blogdaki yazılar farklı bir programalama dilini bilen kişileri göz önüne alarak hazırlanmıştır. Tabi ki C++ ile programlamaya başlamak bir alternatif olsa da, gerek dilin yazım kurallarının katı olması, gerek de geliştirme ortamlarının çok farklı olması nedeni ile farklı programalama dilllerinden birini seçerek başlamanızı öneriyoruz. Eğer daha önce programalama tecrübeniz hiç yoksa buradaki makalelerden önce temel programalama eğitimi almanızı öneriyoruz.