首页 > 编程语言 >C++11 后的单例写法

C++11 后的单例写法

时间:2023-11-27 11:23:51浏览次数:33  
标签:11 Singleton const C++ static 单例 public

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

    Singleton(const Singleton&) = delete; 
    Singleton& operator=(const Singleton&) = delete; 
protected:
    Singleton() = default;
    ~Singleton() = default;
};

例:

#include<iostream>
class Test:public Singleton<Test>
{
public:
    void myprint()
    {
        std::cout<<"test Singleton"<<std::endl;
    }
};
int main()
{
    Test::getInstance().myprint();
    return 0;
}

标签:11,Singleton,const,C++,static,单例,public
From: https://www.cnblogs.com/penuel/p/17858875.html

相关文章

  • 从嘉手札<2023-11-27>
    “我也没做错什么,放它去看海,总比跟着我好”很多时候,悲伤总是细细的钻进心底悄悄的生根发芽待到了时机它便如同一株参天巨树般郁郁葱葱郁郁葱葱的令人发疯人生本就像是做了一场旧梦醒来后枕头沾满泪水,我也分不清那究竟是我的记忆还是借来的情感时间过的太久连心动都记......
  • 实验4 现代C++标准库与类模板
    实验任务5TextCoder.hpp源码1#include<iostream>2#include<string>34usingstd::string;56classTextCoder{7private:8stringtext;9voidencoder();10voiddecoder();11public:12TextCod......
  • node版本管理神器nvm安装使用教程(Windows11版本)
    安装前提在安装nvm之前,我们需要先将已有的node.js全部卸载!下载安装包进行安装第一步,下载安装包,nvm下载地址可下载以下文件:nvm-noinstall.zip:绿色免安装版,但使用时需要进行配置。nvm-setup.zip:安装版,推荐使用nvm-setup.exe:无需解压,直接安装,墙裂推荐!!!如下图: 第二步,进行......
  • Codeforces Round 911 (Div. 2) A
    真的太菜了……题目链接:Problem-A-Codeforces//Problem:A.CoverinWater//Contest:Codeforces-CodeforcesRound911(Div.2)//URL:https://codeforces.com/contest/1900/problem/0#//MemoryLimit:256MB//TimeLimit:1000ms////PoweredbyCPEd......
  • C++ 服务端与 Java 客户端的简单连接
    记录一下如何用两种语言简单通信,(其实也大差不差的,应该把。。。)//C++服务端#include<sys/socket.h>#include<netinet/in.h>#include<arpa/inet.h>#include<unistd.h>#include<iostream>#include<cstring>usingstd::cout;usingstd::endl;usingst......
  • C语言调用C++类成员函数讲解和实例
    原文:https://blog.csdn.net/LxXlc468hW35lZn5/article/details/1257010071、问题成因C语言与C++调用问题原因主要在于C编译器和C++编译器的不同。C是过程式语言,C编译器编译后,函数在符号库中就是函数名,没有其他任何附加信息。而C++是对象式语言,支持函数重载,C++编译器编译后,在符号......
  • 11-26
    C/S结构用户界面设计编写一整套Mis系统UI界面,Mis系统名称自拟,尽量运用到如下控件:l 窗体l 菜单l 工具栏l 状态栏控件l 标签控件l 按钮控件l 文本框控件l 单选按钮控件l 复选框控件l 列表框控件l 组合框控件l 分组框控件l 面板控件l 图片框控件l 定......
  • 【C与C++的相互调用方法】
    原文:https://blog.csdn.net/qq_43899283/article/details/132343699C与C++的相互调用方法C与C++为什么相互调用的方式不同C++中调用CC中调用C++致谢C与C++为什么相互调用的方式不同  C和C++之间的相互调用方式存在区别,主要是由于C和C++语言本身的设计和特性不同。函数......
  • 如何在win11系统桌面实现win10右键
    下载腾讯桌面整理并安装下载地址:腾讯桌面整理注意:下载独立版设置腾讯桌面整理鼠标右键,点击“显示更多选项”点击“实用功能”>>>“设置中心”点击“整理桌面”;取消勾选“穷Windows11风格桌面右键菜单”。完成以上操作即可实现在win11系统实现win10桌面......
  • extern "C":实现C++和C的混合编程
    原文:https://c.biancheng.net/view/8064.html通过《C语言和C++到底有什么关系?》一节的学习,读者已经了解了C++和C语言之间的关系。简单的理解,C++就是在C语言的基础上增加了一些新特性,从大的方面讲,C++不仅支持面向过程编程,还支持面向对象编程和泛型编程;从小的方面讲,C++还......