创建型模式之单例模式

模式定义  单例模式(SingletonPattern):单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例,这个类称为单例类,它提供全局访问的方法。  单例模式的要点有三个:一是某个类只能有一个实例;二是它必须自行创建这个实例;三是它必须自行向整个系统提供这个实例。单例模式是

#设计模式  

创建型模式之抽象工厂模式

模式定义 抽象工厂模式(Abstract Factory Pattern):提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们具体的类。抽象工厂模式又称为Kit模式,属于对象创建型模式。

#设计模式  

创建型模式之工厂方法模式

工厂方法模式(Factory Method Pattern)又称为工厂模式,也叫虚拟构造器(Virtual Constructor)模式或者多态工厂(Polymorphic Factory)模式,它属于类创建型模式。

#设计模式  

创建型模式之简单工厂模式

模式定义  简单工厂模式(SimpleFactoryPattern):又称为静态工厂方法(StaticFactoryMethod)模式,它属于类创建型模式。在简单工厂模式中,可以根据参数的不同返回不同类的实例。简单工厂模式专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。模式动

#设计模式  

C++ 设计模式学习之路

设计模式概述设计模式由来  每个模式都描述了一个在我们的环境中不断出现的问题,然后描述了该问题的解决方案的核心。通过这种方式,你可以无数次地使用那些已有的解决方案,无需在重复相同的工作。《建筑的永恒之道》  设计模式是在特定的环境下人们解决某类重复出现问题的一套成功或者有效的方案。  设计模式(De

#设计模式  

C++11:互斥量

多任务的同步与互斥,一个基于Linux下并发编程关于锁的一些介绍。相较于C++而言就是换汤不换药,主要是一些语法上的区别,集体的作用什么的看那篇博客吧,本文简单介绍一下。为什么需要互斥量  在多任务操作系统中,同时运行的多个任务可能都需要使用同一种资源。这个过程有点类似于,公司部门里,我在使用着打印

#C++ 11  

C++11:线程

  在 C++ 11 之前,C/C++ 一直是一种顺序的编程语言。顺序是指所有指令都是串行执行的,即在相同的时刻,有且仅有单个 CPU 的程序计数器执行代码的代码段,并运行代码段中的指令。而 C/C++ 代码也总是对应地拥有一份操作系统赋予进程的包括堆、栈、可执行的(代码)及不可执行的(数据)在内的

#C++ 11  

C++11:lambda表达式

lambda基础使用  lambda表达式(lambdaexpression)是一个匿名函数,lambda表达式基于数学中的λ演算得名。C++11中的lambda表达式用于定义并创建匿名的函数对象,以简化编程工作。lambda表达式的基本构成:[capturelist](paramslist)mut

#C++ 11  

C++11:智能指针

  在C++98中,智能指针通过一个模板类型auto_ptr来实现。auto_ptr以对象的方式管理堆分配的内存,并且在适当的时间(比如析构),释放获得的堆上的内存。这种堆内存管理的方式只需要程序员将new运算符操作返回的指针作为auto_ptr的初始值计科,不去要在显示的调用delete释放。  

#C++ 11  

C++11:std::move和std::forward

std::move强制转化为右值  既然编译器只对右值引用才能调用转移构造函数和转移赋值函数,而所有命名对象都只能是左值引用,如果已知一个命名对象不再被使用而想对它调用转移构造函数和转移赋值函数,也就是把一个左值引用当做右值引用来使用,怎么做呢?标准库提供了函数std::move,这个函数以非常简单

#C++ 11